「java面板中间」java取中间文本

博主:adminadmin 2023-01-13 16:03:08 312

今天给各位分享java面板中间的知识,其中也会对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面板中间的信息别忘了在本站进行查找喔。