我想知道是否有办法改变自动生成的源代码格式 通过GUI中的Net Beans IDE - applet应用程序。例如,源代码中项目的放置是关系的,但如果我想要它们的绝对坐标怎么办。我问这个问题是因为我需要这种格式的源代码,以便我可以轻松地更改源代码并可以做一些手动工作。更具体地说,我想创建一个12x8阵列的按钮组,它们之间没有间隙。但是使用IDE来执行此操作需要很长时间,实际上,我甚至无法将按钮放在它们之间。任何帮助高度赞赏!
答案 0 :(得分:1)
手动拼凑很简单。 GUI构建器通常比它们的帮助更有害。
这是测试运行:
这是代码。我将这些类放在一个文件中,以便更容易粘贴。这些类应该在单独的文件中。
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
public class ButtonArray implements Runnable {
@Override
public void run() {
JFrame frame = new JFrame("JButton Array Test");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ButtonPanel buttonPanel = new ButtonPanel();
frame.add(buttonPanel.getMainPanel());
frame.setLocationByPlatform(true);
// frame.setSize(new Dimension(800, 600));
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new ButtonArray());
}
public class ButtonPanel {
private static final int WIDTH = 12;
private static final int HEIGHT = 8;
private JButton[][] buttonArray;
private JPanel mainPanel;
public ButtonPanel() {
buttonArray = new JButton[WIDTH][HEIGHT];
createPartControl();
}
private void createPartControl() {
mainPanel = new JPanel();
mainPanel.setLayout(new GridLayout(HEIGHT, WIDTH));
for (int i = 0; i < HEIGHT; i++) {
for (int j = 0; j < WIDTH; j++) {
buttonArray[j][i] =
new JButton(createButtonText(j, i));
mainPanel.add(buttonArray[j][i]);
}
}
}
private String createButtonText(int j, int i) {
StringBuilder builder = new StringBuilder();
builder.append("(");
builder.append(i);
builder.append(", ");
builder.append(j);
builder.append(")");
return builder.toString();
}
public JPanel getMainPanel() {
return mainPanel;
}
}
}
答案 1 :(得分:0)
你需要为面板使用一些网格布局(例如FormLayout)来配置它,只需在那里添加所有按钮。