0

我正在尝试制作一个 java swing 面板,您可以在其中拖放图像。并保存面板上显示的图像。我发现对我有很大帮助。但在我的装有 windows 7 的电脑上不起作用。我无法将图像拖到应用程序中。我会很感激任何建议。谢谢

4

1 回答 1

2

规则一,不要乱搞你不明白的东西;)

规则二,假装它直到你成功;)

initComponents方法替换为...

private void initComponents() {

    listScroller = new javax.swing.JScrollPane();

    imageList = new JList();
    imageList.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
    imageList.setLayoutOrientation(javax.swing.JList.HORIZONTAL_WRAP);
    imageList.setVisibleRowCount(-1);
    listScroller.setViewportView(imageList);

    setLayout(new BorderLayout());
    add(listScroller);
}// </editor-fold>//GEN-END:initComponents

GlassPaneDragAndDrop构造函数中,paintComponent将“drop pane”的方法替换为...

setContentPane(new JPanel(new BorderLayout()) {
    private BufferedImage image = null;

    @Override
    public boolean isOpaque() {
        return imageList.getModel().getSize() > 0;
    }

    @Override
    protected void paintComponent(Graphics g) {
        Rectangle clip = g.getClipBounds();

        g.setColor(Color.WHITE);
        g.fillRect(clip.x, clip.y, clip.width, clip.height);
    }
});

这将允许它运行。在 Windows 7 下,您可能不喜欢这样的结果......

于 2013-02-28T06:10:21.523 回答