Tag: 用户界面

Java中的paintComponent()没有被调用

我试图绘制一个简单的矩形,但我认为paintComponent方法没有被调用。 以下是使用main方法的类的代码: package painting; import java.awt.*; import javax.swing.*; public class Painting { public static void main(String[] args) { JFrame jf; jf = new JFrame(“JUST DRAW A RECTANGLE”); jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); jf.setLayout(null); jf.setLocationRelativeTo(null); jf.setSize(600,600); jf.setVisible(true); Mainting maint = new Mainting(); jf.add(maint); } } 和paintComponent()的类 package painting; import java.awt.*; import javax.swing.*; public class Mainting extends JPanel { @Override public […]

在网格中旋转对象(GUI,JAVA SWING)

好的,所以我正在尝试这个教程: http : //mathcs.slu.edu/~fritts/cse131/labs/lab9/index.html 但我不知道如何旋转物体 synchronized void moveDown() { } 是否有任何已定义的方法或我是否必须实现自己的代码? 我想改变对象的形状,但这意味着我每次都要改变我当前的对象,这可能有点复杂。 调用moveDown的方法: public void keyPressed(KeyEvent event) { int key = event.getKeyCode(); switch (key) { case KeyEvent.VK_UP: // up arrow case KeyEvent.VK_KP_UP: currentPiece.rotateCounterclockwise(); break; case KeyEvent.VK_DOWN: // down arrow case KeyEvent.VK_KP_DOWN: currentPiece.rotateClockwise(); break; case KeyEvent.VK_LEFT: // left arrow case KeyEvent.VK_KP_LEFT: currentPiece.moveLeft(); break; case KeyEvent.VK_RIGHT: // […]

用Java制作窗口

;)我正在尝试用Java做一系列GUI窗口。 首先,关于设计的问题。 我打算有8/9类似的窗口: 用计时器问候介绍 几秒后显示上面的内容 – 像“输入你的名字”这样的窗口“输入你的姓氏” 问题窗口与两个radiobuttons “输入你的密码”窗口 窗口只有纯文本和“下一步”按钮(除了第一个,他们都有它) 一个带有一些文本的窗口,然后是一个可以用它旁边的“复制”按钮复制的位 与第二个相同,但其中一个条目旁边有“粘贴”按钮 弹出窗口 显示名称,数字和矩形形状的大窗口 我想过做一个抽象类“DummyWindow”,它将成为任何其他类的基础,然后扩展它。 你说什么? 另外,您对Windows的实际代码方法有什么建议? 非常感谢。

着色JTable细胞

我无法为我的JTable单元着色。 我正在做一个俄罗斯方块游戏。 游戏的所有function都有效; 按下按钮,键盘交互以移动片段,删除完整的行等。现在出现的输出只是打印出的表格整数值(参见屏幕截图)。 这些整数值指的是颜色。 我有代码根据下面的MyRenderer类中的所述整数值更改单元格的颜色,但不会发生着色。 我想知道是否有一些“rerender”方法我只是没有找到或者我是否需要构建自己的paint方法来调用? 有什么建议? startGame.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { card3.remove(0); // Removes button model = new MyTableModel(); table = new JTable(model); table.setDefaultRenderer(int.class, new MyRenderer()); table.setRowHeight(GRID_ROW_HEIGHT); table.setFocusable(false); table.setRowSelectionAllowed(true); for (int i = 0; i < NUM_COLS; i++) { table.getColumnModel().getColumn(i) .setPreferredWidth(table.getRowHeight()); } card3.add(table); JButton pauseButton = new JButton("Pause"); card3.add(pauseButton); […]

计算按下JButton的次数?

在JAVA GUI中执行的动作代码中,我如何计算按下按钮的次数,并且每次按下按钮时都会执行不同的操作? private class Listener implements ActionListener { public void actionPerformed (ActionEvent e) { HOW WOULD I COUNT HOW MANY TIMES THIS BUTTON HAS BEEN PRESSED? } 谢谢!!!

自定义Java Swing GUI与Netbeans Drag n’Drop Editor

手动编码Java Swing GUI而不是使用Netbeans Drag n Drop编辑器有什么好处吗? 也许比如运行时? 在我看来,编辑器自动创建了相当多的额外代码,但我不知道这是否对加载视图的运行时有很大影响。 我目前使用编辑器的唯一原因是因为它使GUI构建快速而简单。 但有些事情你只能通过手工编码才能完成,这是通过编辑器无法实现的吗? 还有一个更好的GUI框架吗? 我已经看过Java FX,但我真的想要Github桌面软件带来的那种效果。 它看起来如此光滑和干净,几乎像一个webapp。 虽然我确信他们是用C ++做的。 在我看来,就图形而言,Java并不多。 我的一位朋友评论说,所有Java程序看起来都一样,到目前为止似乎都是如此。 我知道有类似的post,但坦率地说它们不是很近,例如以编程方式编写gui,或使用高级gui编辑器(Java Swing)? 这是2010年发布的还是学习Java Swing(GUI建设者还是没有?) ,这也是在2010年。如果没有什么新内容,很抱歉打扰你。

找不到具有preferredID的TopComponent

我正在尝试运行我的简单java程序,但是有一个大问题。 它与GUI连接。 它无法显示任何创建的窗口。 我附加了栈跟踪和一个类。 @ConvertAsProperties( dtd = “-//org.shop.viewer//ShopViewer//EN”, autostore = false ) @TopComponent.Description( preferredID = “ShopViewerTopComponent”, //iconBase=”SET/PATH/TO/ICON/HERE”, persistenceType = TopComponent.PERSISTENCE_ALWAYS ) @TopComponent.Registration(mode = “explorer”, openAtStartup = false) @ActionID(category = “Window”, id = “org.shop.viewer.ShopViewerTopComponent”) @ActionReference(path = “Menu/Window” /*, position = 333 */) @TopComponent.OpenActionRegistration( displayName = “#CTL_ShopViewerAction”, preferredID = “ShopViewerTopComponent” ) @Messages({ “CTL_ShopViewerAction=ShopViewer”, “CTL_ShopViewerTopComponent=ShopViewer Window”, “HINT_ShopViewerTopComponent=This is […]

在Android中将参数设置为布局时崩溃

预期结果 单击切换按钮将显示菜单并向右滑动内容视图。 动画完成后,内容视图的布局参数将更新到最终位置。 问题 更新内容视图的最终位置时,语句mViewContent.setLayoutParams(params); 导致崩溃。 错误消息是java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams 源代码 Main.java > public class MainActivity extends Activity {} public void onToggleButtonMenuClicked(View view) { // Is the toggle on? boolean toggleTurnedOn = ((ToggleButton) view).isChecked(); if (toggleTurnedOn) { // If the toggle is turned on // Show menu LinearLayout mViewMenu = (LinearLayout) findViewById(R.id.linear_layout_menu); Animation animMenuOn = AnimationUtils.loadAnimation(MainActivity.this, R.anim.anim_menu_on); […]

按下其他键后,JButton键侦听器不会触发

我正在用Java创建一个虚拟钢琴。 到目前为止,我有两个按键的动作监听器,它们大部分都在工作,而不是一个接一个。 例如,我在键盘上点击q然后按下c键并播放ac,这就是它应该做的事情。 但是我想通过按键盘上的w来敲击钢琴上的d键,如果我已经按下q键,它就不会这样做。 // c key JButton btnC3 = new JButton(“”); btnC3.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { if (e.getKeyCode() == KeyEvent.VK_Q) { btnC3.doClick(); } } }); btnC3.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // play c try { keys.playNote(Notes.c3.getValue()); } catch (InterruptedException e1) { e1.printStackTrace(); } catch (InvalidMidiDataException e2) { […]

实时输出到jTextArea

我有一些代码,需要花费几分钟来处理,它必须连接到Web上的长数组中的每个字符串,每个字符串是一个url。 我希望这样做,以便每次连接时,都应该刷新jtextarea,这样用户就不会盯着看起来冻结20分钟的空白页面。 或者需要多长时间。 这是我尝试过的东西的一个例子: try { ArrayList myLinks = LinkParser.getmyLinksArray(jTextArea1.getText()); for (String s : myLinks) { jTextArea2.append(LinkChecker.checkFileStatus(s) + “\n”); } } catch (IOException ex) { JOptionPane.showMessageDialog(jTextArea1, “Parsing Error”, “Parsing Error”, JOptionPane.ERROR_MESSAGE); Logger.getLogger(MYView.class.getName()).log(Level.SEVERE, null, ex); }