当前位置: 技术问答>java相关
请问如何为JPanel指定大小?用setBounds()和setPreferredSize()和setSize()好象都不行。前面的post都看了,没有解决问题。
来源: 互联网 发布时间:2015-08-10
本文导语: 请问如何为JPanel指定大小?用setBounds()和setPreferredSize()和setSize()好象都不行。前面的post都看了,没有解决问题。请各位大虾指点。非常感谢。 | 在layout显示jpanel时,并不是用jpanel的默认大小。...
请问如何为JPanel指定大小?用setBounds()和setPreferredSize()和setSize()好象都不行。前面的post都看了,没有解决问题。请各位大虾指点。非常感谢。
|
在layout显示jpanel时,并不是用jpanel的默认大小。
你试试下面代码
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
public class Test1 extends JFrame {
public JLabel bl = new JLabel(" b1 ");
JPanel editor;
Point lastLocation;
JScrollPane scroller;
public Test1() {
Container ls = getContentPane();
ls.setLayout(new BorderLayout());
editor = new JPanel();
editor.setPreferredSize(new Dimension(300,400));
editor.setLayout(null);
editor.setBorder(BorderFactory.createLineBorder(Color.black));
JPanel xx = new JPanel();
xx.setPreferredSize(new Dimension(30,40));
xx.setBounds(100,100,100,200);
xx.setBorder(BorderFactory.createLineBorder(Color.black));
editor.add(xx);
scroller = new JScrollPane(editor);
ls.add("Center", scroller);
}
public static void main(String[] args) {
Test1 frame = new Test1();
frame.addWindowListener(
new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
frame.setSize(300, 400);
frame.setVisible(true);
}
}
你试试下面代码
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
public class Test1 extends JFrame {
public JLabel bl = new JLabel(" b1 ");
JPanel editor;
Point lastLocation;
JScrollPane scroller;
public Test1() {
Container ls = getContentPane();
ls.setLayout(new BorderLayout());
editor = new JPanel();
editor.setPreferredSize(new Dimension(300,400));
editor.setLayout(null);
editor.setBorder(BorderFactory.createLineBorder(Color.black));
JPanel xx = new JPanel();
xx.setPreferredSize(new Dimension(30,40));
xx.setBounds(100,100,100,200);
xx.setBorder(BorderFactory.createLineBorder(Color.black));
editor.add(xx);
scroller = new JScrollPane(editor);
ls.add("Center", scroller);
}
public static void main(String[] args) {
Test1 frame = new Test1();
frame.addWindowListener(
new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
frame.setSize(300, 400);
frame.setVisible(true);
}
}
|
与布局管理器有关。JFrame的默认布局管理器是BorderLayout,JPanel的默认布局管理器是FlowLayout。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。