【发布时间】:2017-02-15 18:21:09
【问题描述】:
我想在按钮之间放置空间:
我想把按钮放在中间,一个在另一个下方,它们之间有一定的距离,如果我的代码很乱,我很抱歉,我想做一些更复杂的事情,它只是一个原型,加上你不知道Java GUI 所以接受了批评
班级第一:
import javax.swing.*;
public class first {
public static void main(String[] args) {
second ob = new second();
ob.setLocation(500, 100);
ob.setSize(500, 500);
ob.setVisible(true);
ob.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
二等奖:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.File;
import java.util.Formatter;
import javax.swing.JOptionPane;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.text.Position;
import java.util.*;
public class second extends JFrame {
int i;
private JPanel pan1;
private JPanel pan2;
private JScrollPane scroll;
private JTextArea tx;
private JButton[] buton = new JButton[50];
private Box box = new Box(BoxLayout.Y_AXIS);
second() {
pan1 = new JPanel();
pan1.setBackground(Color.GREEN);
pan1.setLocation(0, 0);
pan1.setPreferredSize(new Dimension(500, 100));
add(pan1, BorderLayout.NORTH);
for (int i = 0; i < 50; i++) {
buton[i]=new JButton("Button "+i);
box.add(buton[i]);
}
JScrollPane sp = new JScrollPane(box);
Dimension d = new Dimension(box.getComponent(0).getPreferredSize());
sp.getVerticalScrollBar().setUnitIncrement(d.height);
d.height *= 10; // Show at least 10 buttons
sp.getViewport().setPreferredSize(d);
add(sp);
pack();
setLocationRelativeTo(null);
setVisible(true);
}
}
【问题讨论】:
-
@ElonThan:在您提议的副本中看起来是一个不同的问题。 Camickr 在他的回答中找到了解决方案。
标签: java