「java拖动窗口显示组件」java 拖拽式编程 组件

博主:adminadmin 2023-03-19 09:22:07 589

今天给各位分享java拖动窗口显示组件的知识,其中也会对java 拖拽式编程 组件进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

我用JAVA的swing创建了一个窗口程序,拖了一个jTable控件在窗体上,怎样把数据库中的内容显示在Table上?

public class T extends JFrame {

private static final long serialVersionUID = 1L;

private JPanel jPanel = null;

private JTextField jTextField = null;

private JTextField jTextField1 = null;

private JButton jButton = null;

private JButton jButton1 = null;

private JButton jButton2 = null;

private JTable jTable = null;

private DefaultTableModel tableModel = null;

private JPanel getJPanel() {

if (jPanel == null) {

JLabel jLabel1 = new JLabel();

jLabel1.setBounds(new Rectangle(30, 50, 80, 25));

jLabel1.setText("请输入ISBN:");

JLabel jLabel = new JLabel();

jLabel.setBounds(new Rectangle(30, 20, 80, 25));

jLabel.setText("请输入书名:");

jPanel = new JPanel();

jPanel.setLayout(null);

jPanel.setPreferredSize(new Dimension(1, 120));

jPanel.add(jLabel);

jPanel.add(jLabel1);

jPanel.add(getJTextField());

jPanel.add(getJTextField1());

jPanel.add(getJButton());

jPanel.add(getJButton1());

jPanel.add(getJButton2());

}

return jPanel;

}

private JTextField getJTextField() {

if (jTextField == null) {

jTextField = new JTextField();

jTextField.setBounds(new Rectangle(120, 20, 140, 25));

}

return jTextField;

}

private JTextField getJTextField1() {

if (jTextField1 == null) {

jTextField1 = new JTextField();

jTextField1.setBounds(new Rectangle(120, 50, 140, 25));

}

return jTextField1;

}

private JButton getJButton() {

if (jButton == null) {

jButton = new JButton();

jButton.setBounds(new Rectangle(270, 20, 60, 25));

jButton.setText("显示");

jButton.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

/* 修改处 */

}

});

}

return jButton;

}

private JButton getJButton1() {

if (jButton1 == null) {

jButton1 = new JButton();

jButton1.setBounds(new Rectangle(270, 50, 60, 25));

jButton1.setText("显示");

jButton1.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

/* 修改处 */

}

});

}

return jButton1;

}

private JButton getJButton2() {

if (jButton2 == null) {

jButton2 = new JButton();

jButton2.setBounds(new Rectangle(240, 80, 90, 30));

jButton2.setText("显示全部");

jButton2.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

/*

* 修改处此处只要改下面一行,换成从数据库读就行

* 应该在DAO层加一个查询全部的方法

* public ListTitles getAll();具体实现自己写。

* 把114行的代码改成:ListTitles lists = new TitleDaoImpl().getAll();

* */

ListTitles lists = Titles.list();

// 将表行数设为0行,防止异常

tableModel.setRowCount(0);

for (int i = 0; i lists.size(); i++) { // 当每有一个Titles对象就添加一行

tableModel.addRow(new Object[] {});

}

Titles instance = null;

Object obj = null;

Object name = null;

for (int i = 0; i tableModel.getRowCount(); i++) { // 行循环

instance = lists.get(i); // 为当前Titles对象赋值

for (int j = 0; j tableModel.getColumnCount(); j++) {

name = tableModel.getColumnName(j);

if (name.equals("ISBN")) {

obj = instance.getISBN();

} else if (name.equals("title")) {

obj = instance.getTitle();

} else if (name.equals("publisher")) {

obj = instance.getPublisher();

} else if (name.equals("date")) {

obj = instance.getDate();

} else if (name.equals("price")) {

obj = instance.getPrice();

} else {

obj = "";

}

tableModel.setValueAt(obj, i, j);

}

}

}

});

}

return jButton2;

}

private JPanel getJPanel1() {

JScrollPane jScrollPane = new JScrollPane();

jScrollPane.setViewportView(getJTable());

JPanel panel = new JPanel(new BorderLayout());

panel.add(jScrollPane, BorderLayout.CENTER);

return panel;

}

private JTable getJTable() {

if (jTable == null) {

// 获得Titles类里的字段,一个字段在JTable中应该表现为一列

Field[] fields = Titles.class.getDeclaredFields();

// 将字段名保存为列名数组为DefaultTableModel所用

Object[] columnNames = new Object[fields.length];

for (int i = 0; i fields.length; i++) {

columnNames[i] = fields[i].getName();

}

tableModel = new DefaultTableModel(columnNames, 0);

jTable = new JTable(tableModel);

}

return jTable;

}

public static void main(String[] args) {

SwingUtilities.invokeLater(new Runnable() {

public void run() {

T thisClass = new T();

thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

thisClass.setVisible(true);

}

});

}

public T() {

super();

setSize(580, 475);

getContentPane().add(getJPanel(), BorderLayout.SOUTH);

getContentPane().add(getJPanel1(), BorderLayout.CENTER);

}

}

java图片显示不了,必须要拖动窗口大小才显示,原因是什么?

this.setSize(this.getWidth()+1, this.getHeight()+1);

this.setSize(this.getWidth()-1, this.getHeight()-1);

那就让他自动拖动窗口大小

运行以下Java程序,窗口只有一小块,需要拖动窗口才能显示出组件。

在public logintest ()这个方法中加入如下语句即可

this.setBounds(200, 100, 300, 200); //置窗体位置及大小

在java中,如何实现拖动组件??像可视化编程那样

java目前市场占有率最高的IDE是eclipse,并不支持视化的编程,做界面软件时的布局一般用GridLayout, FlowLayout和BorderLayout等在java.awt包中的一此类来实现。你可以自己查看API文档。

刚开始可能会觉得没有可视化方便,用多了会发展可视化其实是多余的。

当然市场上还是存在可视化的IDE的,比如JBuild,不过JBuild在竞争上败给了eclipse和NetBeans已经不更新了。

关于java拖动窗口显示组件和java 拖拽式编程 组件的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。