Java 如何设置流程布局?
您好,我正在尝试制作java桌面应用程序,我正在尝试制作jbutton左下角我做了以下代码我不知道哪里错了我的代码正在运行 这是我的密码Java 如何设置流程布局?,java,swing,Java,Swing,您好,我正在尝试制作java桌面应用程序,我正在尝试制作jbutton左下角我做了以下代码我不知道哪里错了我的代码正在运行 这是我的密码 import java.awt.*; import java.awt.event.*; import javax.imageio.ImageIO; import javax.swing.*; new complete code public class ApplicationCloseExample { privat
import java.awt.*;
import java.awt.event.*;
import javax.imageio.ImageIO;
import javax.swing.*;
new complete code
public class ApplicationCloseExample
{
private JButton[] buttons;
private void displayGUI()
{
final JFrame frame = new JFrame("Application Close Example");
JPanel bottomPanel = new JPanel();
bottomPanel.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 5));
for (int i = 5; i < 8; i++) {
buttons[i] = new JButton(Integer.toString(i));
bottomPanel.add(buttons[i]);
}
// JButton button = new JButton("Comment");
// bottomPanel.add(button);
// frame.getContentPane().add(contentPane, BorderLayout.CENTER);
frame.getContentPane().add(bottomPanel, BorderLayout.SOUTH);
frame.pack();
frame.setVisible(true);
}
public static void main(String... args)
{
SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
new ApplicationCloseExample().displayGUI();
}
});
}
}
import java.awt.*;
导入java.awt.event.*;
导入javax.imageio.imageio;
导入javax.swing.*;
新完整代码
公共类应用程序关闭示例
{
私有JButton[]按钮;
私有void displayGUI()
{
最终JFrame=新JFrame(“应用程序关闭示例”);
JPanel bottomPanel=新的JPanel();
底部面板.setLayout(新的FlowLayout(FlowLayout.LEFT,5,5));
对于(int i=5;i<8;i++){
按钮[i]=新的JButton(Integer.toString(i));
底部面板。添加(按钮[i]);
}
//JButton按钮=新JButton(“注释”);
//底部面板。添加(按钮);
//frame.getContentPane().add(contentPane,BorderLayout.CENTER);
frame.getContentPane().add(底部面板,BorderLayout.SOUTH);
frame.pack();
frame.setVisible(true);
}
公共静态void main(字符串…参数)
{
SwingUtilities.invokeLater(新的Runnable()
{
公开募捐
{
新的ApplicationCloseExample().displayGUI();
}
});
}
}
我怎样才能做到这一点呢?我会给你一个优雅的解决方案,但也许它有用。使用WindowsBuilder并添加几个按钮,看起来就像是在放置代码。因此,请您自己了解遵循带有流的setLayout的模式。我将假设空指针异常与按钮数组有关。检查您是否已正确初始化它
private JButton[] buttons = new JButton[8];
我将您的代码复制到一个测试项目中,并在做了一些修改后运行它:
public static void main(String[] args) {
final JFrame frame = new JFrame("Application Close Example");
JPanel bottomPanel = new JPanel();
bottomPanel.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 5));
for (int i = 5; i < 8; i++) {
buttons[i] = new JButton(Integer.toString(i));
bottomPanel.add(buttons[i]);
}
frame.getContentPane().add(bottomPanel, BorderLayout.SOUTH);
frame.pack();
frame.setVisible(true);
}
publicstaticvoidmain(字符串[]args){
最终JFrame=新JFrame(“应用程序关闭示例”);
JPanel bottomPanel=新的JPanel();
底部面板.setLayout(新的FlowLayout(FlowLayout.LEFT,5,5));
对于(int i=5;i<8;i++){
按钮[i]=新的JButton(Integer.toString(i));
底部面板。添加(按钮[i]);
}
frame.getContentPane().add(底部面板,BorderLayout.SOUTH);
frame.pack();
frame.setVisible(true);
}
这将生成一个框架,其中三个按钮与窗口左下角对齐。您的代码中到底有什么不起作用?我唯一能猜到的是buttons数组没有正确初始化;更新了我的答案。我相信这是你的JButton阵列。