Ali*_*oud 6 java user-interface swing jpanel jbutton
我正在开发一个Java应用程序.
我用MockupScreens创建了这个界面.请看这些照片.
第一次,只有一个元素,用户必须输入信息(标题和描述),然后他开始按需要添加元素.他可以随时编辑元素信息.他也可以删除或更改这些元素的顺序......
如何创建像图片一样的东西?????
提前致谢.最好的祝福,
我在Java Swing中了解这些部分.我的问题是如何动态插入这个按钮块.
我明白了,我必须把JButton放在JPanel上,然后通过添加,删除和重新排序来操作JPanel ......所以Grid Layout将有效地在每个面板之后添加每个面板,但是考虑重新排序顺序会很困难...
请给我任何建议.:)
搜索后,我得到一个想法:
让我们将这些JButton放在一个名为btnsUnit的JPanel中,然后通过添加,删除和重新排序来操作它......所以GridLayout可以高效地在每个JPanel之后添加每个JPanel.
这就是为什么我创建了一个新的JPanel,它将包含一个未知数量的ListbtnsUnit JPanel,我将10固定为最大数字.
当你回复我时,我正在做这些步骤.我没有到达在ListbtnsUnit JPanel中添加btnsUnit JPanel.
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import java.awt.Color;
import java.awt.GridLayout;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JTextField;
public class setupDeviceList extends JFrame {
private JPanel contentPane;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
setupDeviceList frame = new setupDeviceList();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public setupDeviceList() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 742, 335);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
final JPanel ListbtnsUnit = new JPanel();
ListbtnsUnit.setBackground(Color.RED);
ListbtnsUnit.setBounds(55, 56, 243, 191);
contentPane.add(ListbtnsUnit);
ListbtnsUnit.setLayout(new GridLayout(10, 0));
final JButton btnAdd = new JButton("Add");
btnAdd.setBounds(161, 11, 56, 23);
btnAdd.setVisible(true);
btnAdd.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
final JPanel btnsUnit = new JPanel();
btnsUnit.setBounds(343, 71, 243, 147);
contentPane.add(btnsUnit);
btnsUnit.setBackground(Color.ORANGE);
btnsUnit.setLayout(null);
btnsUnit.add(btnAdd);
ListbtnsUnit.add(btnsUnit);
ListbtnsUnit.revalidate();
ListbtnsUnit.repaint();
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
请帮您解决这个问题.我只需要第一次继续推进.
但考虑重新排序会很难......
在按钮的 ActionListener 中:
归档时间: |
|
查看次数: |
1979 次 |
最近记录: |