「java面板中间」java取中间文本
今天给各位分享java面板中间的知识,其中也会对java取中间文本进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java用面板绘图时,改变窗口大小时怎么样才能使图片始终显示在中间的位置,
- 2、java怎样放两个按钮在窗体的正中间
- 3、Java 每次把一个Swing组件放在一个JPanel中时,总是放在左边,有什么办法让其放在面板中间?
- 4、如何把Java程序窗口在屏幕中间显示
java用面板绘图时,改变窗口大小时怎么样才能使图片始终显示在中间的位置,
override方法repaint,使每次改变大小的时候都重绘窗口,也就是调整图片位置在面板中间
java怎样放两个按钮在窗体的正中间
JPanel 放入到BorderLayout.CENTER , 那么会自动填充满整个contentPane的中间, 而JPanel内部还是流式布局, 一行排满 自动换到下一行,从上到下. 所以按钮还是在最上面.
(把JPanel的背景色改成蓝色,就可以清晰的看到JPanel填满了窗口)
解决办法:
方法一: [绝对布局],通过设置panel 为绝对布局,然后设置按钮的宽高和位置
参考代码
import javax.swing.*;
public class JFDemo1 extends JFrame{
public JFDemo1() {
JPanel panel=new JPanel();
panel.setLayout(null);//设置为空布局.或者叫绝对布局
JButton messageButton = new JButton("OK");
JButton closeButton = new JButton("Cancel");
panel.add(messageButton);
panel.add(closeButton);
//粗略的指定下位置,如果要精确的位置,需要进行计算
closeButton.setSize(80, 30);// 指定宽高
closeButton.setLocation(160, 75);//指定位置
messageButton.setBounds(80, 75, 60,30);// 同时指定宽高和位置
add(panel);//默认位置就是BorderLayout.CENTER
setTitle("Demo");// 标题
setSize(320, 230);// 窗口大小
setLocationRelativeTo(null);// 窗口居中
setDefaultCloseOperation(EXIT_ON_CLOSE);// 窗口点击关闭时,退出程序
}
public static void main(String[] args) {
new JFDemo1().setVisible(true);
}
}
方法二:[盒布局]
import javax.swing.*;
public class JFDemo2 extends JFrame{
public JFDemo2() {
JPanel pane=new JPanel();
BoxLayout layout=new BoxLayout(pane, BoxLayout.X_AXIS);// 水平的盒布局
pane.setLayout(layout);
JButton messageButton = new JButton("OK");
JButton closeButton = new JButton("Cancel");
pane.add(Box.createGlue()); // 挤占ok按钮和窗口左侧空间
pane.add(messageButton);
pane.add(Box.createHorizontalStrut(20));// 按钮之间的水平距离
pane.add(closeButton);
pane.add(Box.createGlue()); // 挤占cancel按钮和窗口右侧空间
add(pane);
setTitle("Demo");// 标题
setSize(320, 230);// 窗口大小
setLocationRelativeTo(null);// 窗口居中
setDefaultCloseOperation(EXIT_ON_CLOSE);// 窗口点击关闭时,退出程序
}
public static void main(String[] args) {
new JFDemo2().setVisible(true);
}
}
总结: 推荐使用方法二,使用盒布局来实现.
一般不推荐使用绝对布局/空布局 来布局窗口, 因为不同的操作系统下显示的效果不完全一致.
并且还需要写大量的代码来计算组件的大小和位置, 当窗口放大和缩小时 还需要重新计算位置
Java 每次把一个Swing组件放在一个JPanel中时,总是放在左边,有什么办法让其放在面板中间?
以JLabel为例,在构造时可以指定对齐方式:
JLabel label=new JLabel("abcde",SwingConstants.CENTER);
上例为居中对齐。
如何把Java程序窗口在屏幕中间显示
获取屏幕的长度和高度,然后在location 方法里进行设置边界是它们的一半就可以了,下面的getMidDimesion方法就是这样。
例子:
import java.awt.*;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
public class testFrame extends Frame
{
public testFrame(int width,int height)
{
this.setSize( width,height);
this.setLocation(testFrame.getMidDimesion( new Dimension(width,height)));
this.setBackground( Color.BLACK );
this.setVisible( true);
this.addWindowListener(new WindowListener()
{
public void windowOpened(WindowEvent arg0) {
// TODO Auto-generated method stub
}
public void windowClosing(WindowEvent arg0) {
// TODO Auto-generated method stub
System.exit(0);
}
public void windowClosed(WindowEvent arg0) {
// TODO Auto-generated method stub
}
public void windowIconified(WindowEvent arg0) {
// TODO Auto-generated method stub
}
public void windowDeiconified(WindowEvent arg0) {
// TODO Auto-generated method stub
}
public void windowActivated(WindowEvent arg0) {
// TODO Auto-generated method stub
}
public void windowDeactivated(WindowEvent arg0) {
// TODO Auto-generated method stub
}
});
}
public static Point getMidDimesion(Dimension d)
{
Point p = new Point();
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
p.setLocation((dim.width - d.width)/2,(dim.height - d.height)/2);
return p;
}
public static void main(String[] args)
{
new testFrame(300,200);
}
}
java面板中间的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java取中间文本、java面板中间的信息别忘了在本站进行查找喔。