小编And*_*que的帖子

将自定义对象从JList拖放到JLabel中

我有一个包含自定义对象的ArrayList的JList,我正在尝试创建一个拖放到字段中.我无法理解如何在Transferable中打包和接收对象.

这就是我所得到的:

import java.awt.*;

import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.util.*;

public class FlightProjectInterface extends JFrame{

    //create GUI Objects

    private JFrame primaryFrame;
    private JPanel createFlightPanel;
    private JPanel aircraftLayout;

    private JList personsJList, personsOnFlightJList;
    private JTextField pilotLabel, coPilotLabel, backseat1Label, backseat2Label;

    public FlightProjectInterface(){

        //establish frame
        super("Create Flight");
        setLayout( new FlowLayout());

        //aircraftPanel
        aircraftLayout = new JPanel();
        aircraftLayout.setLayout(new GridLayout(2,2));
        pilotLabel = new JTextField("Drag Pilot Here");

        //build person load list
        DefaultListModel listModel = new DefaultListModel();
        for (Person person : Database.persons)
            listModel.addElement(person);

        personsJList = new JList(listModel); …
Run Code Online (Sandbox Code Playgroud)

java swing drag-and-drop jlabel jlist

8
推荐指数
1
解决办法
6759
查看次数

通过 ODBC“十进制值缩放导致数据截断”

当我尝试在 MS Access 中查看 ODBC 表时,收到错误“十进制值缩放导致数据截断”。我知道返回错误的字段,并且 Access 在查询时能够识别该字段,但我无法查看结果(#Error记录)并且错误不断出现。

我尝试过CDbl()但没有运气。ANz()甚至不允许运行查询。

源数据库是 Oracle,通过适用于 Microsoft Windows x64 的数据库客户端 11g 第 2 版连接。该字段由数据字典定义,Number长度为22。设计视图显示字段 a 的Decimal精度为13,但小数位数为 2。

我猜测 的规模2导致了这个错误。我通过 MS Access 链接该表。无论如何,我是否可以通过访问 Access 和 ODBC 来解决这个问题,或者是否需要在 Oracle 中解决这个问题?

oracle ms-access odbc oracle11g

5
推荐指数
1
解决办法
9700
查看次数

在事件中将自定义对象存储在JLabel中

我正在将自定义对象拖放到JLabel中,并且能够在传输过程中引用该对象(将标签String更改为接收到的对象toString),但不确定如何在JLabel中实际存储自定义对象或构建参考.

在转移过程中实现这一目标的最佳方法是什么?

这是接收对象并使用它来设置文本的工作传输代码(非常感谢以前的答案:这里:

public boolean importData(TransferSupport support) {
            boolean accept = false;
            if (canImport(support)) {
                try {
                    Transferable t = support.getTransferable();
                    Object value = t.getTransferData(PersonTransferable.PERSON_FLAVOR);
                    if (value instanceof Person) {
                        Component component = support.getComponent();
                        if (component instanceof JLabel) {
                            ((JLabel)component).setText(((Person)value).toString());
                            //action here

                        }
                    }
                } catch (Exception exp) {
                    exp.printStackTrace();
                }
            }
            return accept;
        }
Run Code Online (Sandbox Code Playgroud)

JLabel具有我想要存储它们的特定实例变量.由于我有组件(JLabel)和值(自定义对象),我可以建立此链接吗?

最糟糕的情况是,我只需要为每个标签构建一个TransferHandler 并准确引用该值.这可能是最好的做法吗?

java swing

2
推荐指数
1
解决办法
1493
查看次数

标签 统计

java ×2

swing ×2

drag-and-drop ×1

jlabel ×1

jlist ×1

ms-access ×1

odbc ×1

oracle ×1

oracle11g ×1