Tag: swing

在Java Swing上旋转JLabel或ImageIcon

首先,这是我使用swing的第一周,如果我的问题太明显,那就很抱歉。 此外,我需要使用标准java库的解决方案,因为这是用于家庭作业,我不允许使用奇怪的库。 我正在使用JLabel和ImageIcon在JFrame上显示图像。 现在我想将屏幕上的图像旋转到任意角度。 我发现了一些关于Graphics2D的东西,但我找不到这样做的方法。 由于我发现的解决方案不起作用或我不理解它,我对旋转ImageIcon或JLabel的任何解决方案感兴趣。 由于我将图像定位在JLabel上的setBounds,旋转JLabel将是一个更好的解决方案我想(这样我也不会被迫保存ImageIcon对象)。 感谢您的关注,抱歉我的英语不好。 编辑…要在屏幕上显示图像,请执行下一步: JFrame frame = new JFrame(“Something”); frame.setLayout(new FlowLayout()); //for example JPanel panel = new JPanel(); panel.setLayout(null); ImageIcon playerSprite = new ImageIcon(“rute/to/file.png”); JLabel player = new JLabel(playerSprite); panel.add(player); player.setBounds(10,10,36,52); //for example frame.getContentPane().add(panel); frame.setVisible(true); 恢复,如何旋转此IconImage或JLabel。 如果您认为更好,我可以使用其他方法来显示图像。 如果解决方案是使用Graphics2D,就像我看到的那样,我将欣赏到达此类对象的解决方案,稍后将旋转后的图像返回到ImageIcon,因为当我尝试这个时…… ImageIcon imagePlayer = new ImageIcon(“img/stand.png”); Image image = imagePlayer.getImage(); Graphics2D g = […]

如何使Java Swing动画更流畅

我正在用Java创建一个动画幻灯片过渡,它在我当前的MacBook Pro型号以及我的一年前的iMac上,在Java 6,7和8上都是不稳定的。 我该怎么做才能让这个动画在Mac OS X上对用户显得更流畅? import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class ScratchSpace { public static void main(String[] args) { AnimatedPanel panel = new AnimatedPanel(); JFrame frame = new JFrame(); frame.setContentPane(panel); frame.pack(); frame.setLocationRelativeTo(null); frame.setVisible(true); panel.animate(); } public static class AnimatedPanel extends JPanel { private float progress = 0.0f; // a number […]

如何防止单个列在JTable中重新排序?

我有一个JTable ,我需要能够重新排序列。 但是我希望第一列无法重新排序。 我使用以下内容来启用重新排序: table.getTableHeader().setReorderingAllowed(true); 现在可以重新排序列,包括我不想要的第一列。 有没有办法锁定第一列? 我已经看到一些使用两个表的解决方案,第一列在一个单独的表中,但也许有更好/更简单的方法。

JFormattedTextField问题

1)如何将Cursor设置为0,而不使用Caret或Focus包装到invokeLater()(使用@camickr 格式化文本字段提示可以解决),是否有人知道另一种方式 2) How to reset Formatter有时How to reset Formatter (通过TAB从键盘提升Focus),重置不起作用,并且在focusLost(空字段)格式化程序返回/重新生成的字符或字符串返回(最后知道在setText(“”)之前;), 注意:知道代码或下面的代码is only this way ,关于如何从OTN重置Formatter,但他们可怕的搜索规则….,只有代码(问题或答案由Jeanette ???) import java.awt.event.*; import java.beans.*; import java.text.ParseException; import javax.swing.*; import javax.swing.event.*; import javax.swing.text.Document; public class FormattedNull { private JFormattedTextField field; private JButton focusButton; private JComponent createContent() { JComponent content = new JPanel(); field = new JFormattedTextField(new Integer(55)); field.setColumns(20); field.addPropertyChangeListener(getPropertyChangeListener()); […]

Java – 全局,可重用的加载对话框

我正在尝试实现一个全局加载对话框…我想调用一些静态函数来显示对话框和一些静态函数来关闭它。 与此同时,我正在主线程或子线程中做一些工作…… 我试过跟随,但对话框没有更新……只有一次,在再次隐藏之前,它会更新…… private static Runnable getLoadingRunable() { if (loadingRunnable != null) { loadingFrame.setLocationRelativeTo(null); loadingFrame.setVisible(true); return loadingRunnable; } loadingFrame = new JFrame(“Updating…”); final JProgressBar progressBar = new JProgressBar(); progressBar.setIndeterminate(true); final JPanel contentPane = new JPanel(); contentPane.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); contentPane.setLayout(new BorderLayout()); contentPane.add(new JLabel(“Updating…”), BorderLayout.NORTH); contentPane.add(progressBar, BorderLayout.CENTER); loadingFrame.setContentPane(contentPane); loadingFrame.pack(); loadingFrame.setLocationRelativeTo(null); loadingFrame.setVisible(true); loadingRunnable = new Runnable() { […]

如何制作AWT Button()并使用ImageIcon(),Icon()?

如何将GIF图像应用于AWT Button ? AWT :不起作用 Icon warnIcon = new ImageIcon(“/src/world.gif”); Button button1 = new Button(warnIcon); Icon warnIcon = new ImageIcon(“/src/world.gif”); JButton button1 = new JButton(warnIcon);

如何设置优先级鼠标监听器

我有一个包含列表和按钮的面板。 列表使用mouseClick()设置MouseAdapter 。 我使用mousePressed()和mouseReleased()以及带有mouseDragged MouseMotionAdapter添加到面板mouseDragged 。 拖放仅在单击面板时有效。 即使我点击列表,如何使拖动工作? 简单的考试: public class DragTest extends JFrame{ private boolean drag; private Point btnCoord; private Point startPoint; public DragTest(){ setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); setSize(500,500); setLayout(null); final JPanel panel = new JPanel(); final JButton button = new JButton(); button.setText(“Button”); button.setSize(30,60); button.setLocation(50, 50); panel.setLayout(null); setContentPane(panel); panel.addMouseMotionListener(new MouseMotionAdapter() { @Override public void mouseDragged(MouseEvent e) { […]

Java GIF动画无法正确重新绘制

我正在尝试为GIF图像制作动画。 动画有效,但画面效果不佳。 它显示如下(非动画截图): 在图像中,尾巴像这样摇晃: 如您所见,图像不能很好地重现。 我不想使用JLabel,但是没有正常工作,所以当我的图像没有动画时我就按照这个问题 。 我的代码是这样的: public void draw(JPanel canvas, Graphics2D g2d, int x, int y) { getFrontImage().paintIcon(canvas, g2d, x, y); } 检索和保存图像的位置如下: ImageIcon gif = new ImageIcon(getClass().getResource(filename)); 在JPanelcanvas中,我制作了一个paint方法和一个每10ms重绘一次的计时器线程。 这适用于除GIF之外的所有事情。 谁可以帮我这个? —编辑 我很抱歉误会,我已将图像更新为我实际使用的图像。 我希望得到正确答案并不是太麻烦……

java摇摆背景图像

我正在使用JFrame,我在框架上保留了背景图像。 现在问题是图像的大小小于帧的大小,所以我必须在窗口的空白部分再次保持相同的图像。 如果用户单击最大化按钮,则可能必须在运行时将图像放在帧的空白区域。 有谁能告诉我如何做到这一点?

如何使用TextAction

从AbstractAction使用TextAction的目的是什么? 以及如何将其用于以下内容: 插入符号 在JTextComponents中的选择 键绑定