java JPanel设置大小和设置位置
嘿,这是我的第二篇文章,所以不要生我的气,但我对java中的JPanel有问题。我正在尝试设置大小和位置,但不起作用,我已尝试重新绘制(); 但这是行不通的。有什么帮助吗 这是我的密码:java JPanel设置大小和设置位置,java,swing,layout,jframe,jpanel,Java,Swing,Layout,Jframe,Jpanel,嘿,这是我的第二篇文章,所以不要生我的气,但我对java中的JPanel有问题。我正在尝试设置大小和位置,但不起作用,我已尝试重新绘制(); 但这是行不通的。有什么帮助吗 这是我的密码: package test.test.test; import java.awt.Color; import java.awt.FlowLayout; import java.awt.TextField; import javax.swing.JButton; import javax.swing.JFram
package test.test.test;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.TextField;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Test extends JFrame {
JPanel colorPanel = new JPanel();
public Display(){
super("JPanel test");
setLayout(new FlowLayout());
add(colorPanel);
colorPanel.setBackground(Color.CYAN);
colorPanel.setSize(300, 300);
repaint();
}
}
使用Flowlayout时,您应该设置首选的大小(添加到面板的组件的大小),而不是大小,因为layoutmanager将为您处理位置的大小
public class Test extends JFrame {
JPanel colorPanel = new JPanel();
public Display(){
super("JPanel test");
getContentPane().setLayout(new FlowLayout());
colorPanel = new JPanel
colorPanel.setPreferedSize(new Dimension(300,300));
colorPanel.setBackground(Color.CYAN);
getContentPane().add(colorPanel);
pack();
repaint();
}
}
别忘了设置JFrame的可视性和大小(使用pack());) 使用Flowlayout时,您应该设置首选的大小(添加到面板的组件的大小),而不是大小,因为layoutmanager将为您处理位置的大小
public class Test extends JFrame {
JPanel colorPanel = new JPanel();
public Display(){
super("JPanel test");
getContentPane().setLayout(new FlowLayout());
colorPanel = new JPanel
colorPanel.setPreferedSize(new Dimension(300,300));
colorPanel.setBackground(Color.CYAN);
getContentPane().add(colorPanel);
pack();
repaint();
}
}
别忘了设置JFrame的可视性和大小(使用pack());) 为了方便以后阅读此问题的读者,这里有一个简短、完整、正确的示例,用背景色定义JPanel 几乎所有时候,都应该让Swing组件布局管理器确定Swing组件的大小。在本例中,我们定义了JPanel的首选大小,因为JPanel不包含任何其他Swing组件 JFrame的默认布局管理器是BorderLayout。JPanel位于BorderLayout的中心
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
public class SimplePanel implements Runnable {
@Override
public void run() {
JFrame frame = new JFrame("JPanel Test");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel colorPanel = new JPanel();
colorPanel.setBackground(Color.CYAN);
colorPanel.setPreferredSize(new Dimension(300, 300));
frame.add(colorPanel);
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new SimplePanel());
}
}
为了方便以后阅读此问题的读者,这里有一个简短、完整、正确的示例,介绍如何使用背景色定义JPanel 几乎所有时候,都应该让Swing组件布局管理器确定Swing组件的大小。在本例中,我们定义了JPanel的首选大小,因为JPanel不包含任何其他Swing组件 JFrame的默认布局管理器是BorderLayout。JPanel位于BorderLayout的中心
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
public class SimplePanel implements Runnable {
@Override
public void run() {
JFrame frame = new JFrame("JPanel Test");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel colorPanel = new JPanel();
colorPanel.setBackground(Color.CYAN);
colorPanel.setPreferredSize(new Dimension(300, 300));
frame.add(colorPanel);
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new SimplePanel());
}
}
这看起来不像是真正编译的。你试过编译它吗?当你说它不起作用时,你的确切意思是什么?正在发生什么以及您希望发生什么?甚至不要考虑手动设置组件大小/位置-这是合适的布局管理器的专有任务。这看起来不像它实际编译。你试过编译它吗?当你说它不起作用时,你的确切意思是什么?发生了什么以及您希望发生什么?甚至不要考虑手动设置组件大小/位置-这是合适的布局管理器的唯一任务不,你,永远。不,你,永远。