当我试图从java表中删除行时遇到一些问题。 特别是,我使用DefaultTableModel ,当我试图删除一行,使用removeRow(int row)方法,最后一行被删除,无论该row是什么。 例如,假设我们有六行。 当调用removeRow(0)或removeRow(2)或removeRow(5) ,最后一行总是被删除。 任何想法,为什么发生这种情况? 谢谢 —更新 当jtable的特定单元格被按下时,相应的行应该被删除。 class TagsTableMA extends MouseAdapter { @Override public void mousePressed(MouseEvent e){ Point p = e.getPoint(); int row = tagsJT.rowAtPoint(p); int column = tagsJT.columnAtPoint(p); if (column == COLUMN_DELETE_TAG){ DocDialog docDialog = new DocDialog(parentMainJF, true, null, "Please confirm…", "Are you sure you want to delete the \"" […]
我已经看到,在Photoshop中的文本可以很容易地resize拖动它们。 我们如何在Java中做同样的事情? 任何想法如何调整文本在Java中? 添加了在Photoshop中调整字母“A”的快照 请让我知道这个代码有什么问题? public class ResizeImage extends JFrame { public ResizeImage(){ JPanel panel = new JPanel(){ public void paintComponent(Graphics g) { // In your paint(Graphics g) method // Create a buffered image for use as text layer BufferedImage textLayer = new BufferedImage(240, 240, BufferedImage.TYPE_INT_RGB); // Get the graphics instance of the buffered image […]
请注意,我没有在Mac机上的Windows机器上testing过。 我不确定这是否也发生在Windows机器上… 当我调整我的Java应用程序的内容是不可见的。 我已经find了resize后修复它的方法,但不是在用户调整窗口大小的时候。 我没有使用Swing或其他东西,因为它使我的二进制文件变得如此缓慢(在我看来)。 结构是这样的: Frame我的主窗口 Containe r main-window内容视图 基于Container的子视图,包括paint(Graphics g) – 方法 我已经将所有侦听器添加到“ My main-window ,现在我可以在调整窗口大小后重新绘制内容视图 。 public void componentResized(ComponentEvent e) { this.contentView.paint(this.contentView.getGraphics()); } 我小心使用paint(getGraphics())方法 – 方法不是一个很好的方法来做到这一点,但由于repaint()方法根本没有做任何事情,这是唯一的工作可能性。 在resize时,所有绘制的内容变得不可见。 但是,当我添加一个Button实例到我的Content-view并调整我的Main-window ,button不会看不见。 我能够追踪“活”resize事件: public void componentMoved(ComponentEvent e) { System.out.println("Live-resize"); } 当我开始resize这个方法不被调用。 resize时,会在我的日志中生成“实时resize”每一个像素我调整窗口的大小。 当我停止resize这个方法不被调用,componentResized方法。 当我将重绘方法(或重绘方法)添加到这样的“活”resize事件时,我仍然得到输出,但是,它不是重绘或某事 public void componentMoved(ComponentEvent e) { System.out.println("Live-resize"); this.contentView.paint(this.contentView.getGraphics()); } 要么 public void […]
我在Eclipse中编译和运行我的程序,一切正常,但是当我用Ant打包并运行它时,出现这个错误: Exception in thread "main" java.lang.NoClassDefFoundError: org/supercsv/io/ICsvB eanReader Caused by: java.lang.ClassNotFoundException: org.supercsv.io.ICsvBeanReader at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) Could not find the main class: jab.jm.main.Test. Program will exit. 请注意,这是一个运行时错误,而不是Ant的编译器错误 。 我已经在过去build立了这个项目0个问题,现在当我添加第二个包到我的lib文件夹,它突然对我的行为 ? 这是构build文件供参考: <?xml version="1.0" ?> <project name="ServerJar" default="dist" basedir="."> <description> Builds client […]
我的项目在eclipse中正常运行,但是当我创build这个项目的jar文件并试图通过cmd运行它显示“位置未设置”错误。 我的项目结构是: 方法是(在eclipse中运行): @FXML private void RegularCustomer(ActionEvent event) throws Exception{ Stage stage = (Stage) dailySales.getScene().getWindow(); Scene scene = dailySales.getScene(); FXMLLoader loader = new FXMLLoader(getClass().getResource("../customer/CustomerHome.fxml")); System.out.println(loader.getLocation()); scene.setRoot(loader.load()); stage.setScene(scene); stage.show(); } 这段代码有什么问题? 有一些相对的问题,但它们不同。 他们的代码没有在IDE中运行,但是我的代码在IDE中运行。 参考:我做了一些文件夹结构的变化,并能够成功运行。 但是这个结构太可怕了,因为我把所有的FXML文件和控制器放在同一个包里。
我正在尝试使image processing框架类似于像Photoshop或Paint Shop Pro中发现的image processing框架,我遇到了问题。 现在我有一个JDesktopPane的JFrame窗口。 当我点击一个button,一个JInternalFrame是由其中的以下组件: imageLabel = new JLabel("picture.png"); scrollPane.setViewPort(imageLabel); internalFrame.add(scrollPane); // I also tried with a BorderLayout() desktopPane.add(internalFrame); 我的问题是这样的:如果JLabel小于JInternalFrame,我不希望JLabel或JScrollPane拉伸到JInternalFrame的大小。 我已经尝试用“空”JLabel填充JLabel周围的空间。 我试过切换JScrollPane的布局样式。 我已经尝试将JLabel和JScrollPane的首选和最大尺寸设置为picture.png的尺寸。 没有任何工作,我需要什么。 我不希望JLabel周围的空白“空格”成为JScrollPane或JLabel的一部分,这样我就可以使用各种MouseEvent触发图片本身,而不是每当“拉伸的”JLabel或JScrollPane留下的空间我调整了JInternalFrame的大小。 提前致谢。 编辑1:这是一些突出显示问题的代码。 import java.awt.*; import java.awt.event.*; class fooFrame extends JFrame implements MouseListener { private static fooFrame frame; JLabel fooLabel; public fooFrame() { JDesktopPane background = new JDesktopPane(); JInternalFrame […]
我一直在做一个个人项目,以更好地编程。 我的目标是让它更健壮,我刚刚开始。 我是目前的计算机科学专业的学生。 无论如何,我正在制作如图所示的程序的一部分。 我计算小时工资,并提供了一些我还没有实施的产出。 我正在使用DocumentListener,所以它会自动计算。 我得到一个错误,当文本从盒子里完全删除。我试图解决它与if语句: if (tipMon.equals("") || tipMon == null) { tipMon.setText("0"); } 这是我迄今为止。 这还没有完成,我为noob代码道歉。 我在2个月前开始实际编码。 import java.awt.GridLayout; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import java.awt.event.KeyListener; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JTextField; import javax.swing.JOptionPane; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; import javax.swing.text.Document; import javax.swing.text.FieldView; public class deliveryDocListener extends JFrame implements ActionListener, DocumentListener{ private JLabel mon, tues, […]
我正在研究康威的生活游戏的Java实现,作为我自己的个人项目。 到目前为止,它的工作,但规则出来错了。 预期的模式没有显示出来,应该是。 我的代码有什么问题吗? import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Cell extends JComponent implements MouseListener { private int row, col; private boolean isLiving; public Cell(int r, int c) { this.row = r; this.col = c; this.addMouseListener(this); } public void isAlive(int neighbors) { if (this.isLiving) { if (neighbors < 2) { this.isLiving = false; […]
我正在编写一个使用套接字的Java客户端/服务器GUI应用程序,这里是问题: 我有一个button来开始监听指定的端口: buttonactionPerformed方法 private void listenButtonActionPerformed(java.awt.event.ActionEvent evt) { int port = Integer.parseInt(portTextfield.getText(), 10); try { socket.listen(port); } catch (IOException ex) { } } 这里是socket.listen方法 public static void listen() throws IOException { ServerSocket ss = new ServerSocket(port); while (true) new socket(ss.accept()); } “套接字”类扩展“线程” 所以在ss.accept()返回一个值之后,它会在单独的线程中创build新的套接字实例。 点击button后,GUI会冻结,因为在socket.listen方法中存在无限循环。 我怎样才能避免呢?
我已经在这工作了将近一天半了,我似乎无法解决这个错误。 我不知道为什么ResultSet被closures。 也许你们中的一些人可以帮助我。 MySQLDatabase: package net.gielinor.network.sql; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public abstract class MySQLDatabase { private String host; private String database; private String username; private String password; private Connection connection = null; private Statement statement; public MySQLDatabase(String host, String database, String username, String password) { this.host = host; this.database […]