我写道,我正试图在文件中写一些数据.但是在重新启动时,它会删除内部的所有内容,然后再次写入.无法找出问题所在.
而且我还找到了一个像"deleteOnClose"这样的文件方法,但它没有被设置!因此默认情况下不应该这样做.
感谢您的帮助.
这是代码:
主要:
public static void class main {
public main(String args[]){
menu_secim secimObject=new menu_secim();
}
}
Run Code Online (Sandbox Code Playgroud)
menu_secim:
public class menu_secim extends JFrame{
private JButton ekle;
private JButton goster;
public menu_secim() {
super("Karar An?");
this.setLayout(new FlowLayout());
this.setVisible(true);
this.setSize(350, 150);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocation(500,300);
ekle=new JButton("Ekle");
this.getContentPane().add(ekle);
goster=new JButton("Göster");
this.getContentPane().add(goster);
ekle.setBounds(20,20, 100,60);
goster.setBounds(120, 20, 100, 60);
butonHareketleri buton=new butonHareketleri();
ekle.addActionListener(buton);
goster.addActionListener(buton);
}
private class butonHareketleri implements ActionListener{
public void actionPerformed(ActionEvent e){
if(e.getSource()==ekle)
try
{
new secim_ekle();
}
catch(Exception h)
{
System.out.print("hata …Run Code Online (Sandbox Code Playgroud) 如何使父框架的焦点无效?我有一个JFrame(parentFrame),我打开一个JDialog:
JDialog dialog = new JDialog(parentFrame);
Run Code Online (Sandbox Code Playgroud)
现在我需要设置对话框这样一种方式,每当尝试某人单击父框架时,它总是将焦点放在该对话框上,甚至阻止父框架被关闭.
例如,在Windows中添加环境变量(系统属性 - >高级选项卡 - >环境变量按钮单击)时,环境变量窗口会阻止其父项关闭.
这是我的场景:我对一个应用程序有3个视图,其中2个是相同的,除了1个东西 - 一个有额外的过滤.所有视图都使用相同的模型,因为它们以(有些)不同的方式显示相同的数据.两个相似的视图都是JTable,如下所示:
我可以为第二个视图创建过滤器,但由于两个视图都使用相同的模型(实现了TableModel),因此它们在数据模型中调用相同的函数getValueAt(int rowIndex, int columnIndex)- 目前只在基本级别上进行过滤.
在不影响第一个视图的情况下,另外过滤第二个视图的最简单方法是什么?我将如何实现这一目标?
提前致谢.
看来MigLayout被JScrollPane对象中包含的JTable对象搞糊涂了.由于在JScrollPane中使用JTable似乎很常见,我认为找出原因很重要.
在附加的示例程序中,创建了一个简化的表单,由12行和4列组成.所有宽度和高度均设置为百分比.表单中添加了许多组件,所有组件都按单元格位置添加.一些跨越行或列.最后一列显示单元格行索引和大小百分比.
如果程序以参数"JLabel"启动,则JSCrollPane中包含的JLabel将添加到第0列,所有对齐看起来都很好.如果程序以参数"JTable"启动,则所有列的行大小都会中断.
这是一个错误还是一个功能?
Make: javac -classpath <path to miglayout> migtest.java
Usage: java -classpath <path to miglayout> migtest <JTable|JLabel>
Run Code Online (Sandbox Code Playgroud)
注意:如果下面的代码看起来是混淆的(没有标签),我尝试了各种粘贴方法 - 我无法让预览看起来正确.让我知道我能做些什么来解决它.
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.util.*;
import java.io.*;
import java.text.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.filechooser.*;
import javax.swing.table.*;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.TableModel;
import javax.swing.table.TableColumn;
import net.miginfocom.swing.MigLayout;
public class Migtest extends JFrame {
public final static int appWidth = 1200; // default
public final static int appHeight = 800; // default
String[] clientColNames = { "Name", "Address", …Run Code Online (Sandbox Code Playgroud) 我想在JTabbedPane的标题栏上添加一个按钮(类似于Firefox中的'打开新标签'('+')按钮)我试图添加到JTabbedPane容器的玻璃窗格中.但由于我的tabbedpane包含在JPanel中似乎它对我不起作用.任何建议对我都有很大的帮助.谢谢.
我读了几个关于我的主题的答案,但我没有找到答案.我想要一个我的java代码的背景.我在这里仅指代放置图像的代码,但它不起作用.
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class background extends JFrame {
private Container c;
private JPanel imagePanel;
public background() {
initialize();
}
private void initialize() {
setDefaultCloseOperation(EXIT_ON_CLOSE);
c = getContentPane();
imagePanel = new JPanel() {
public void paint(Graphics g) {
try {
BufferedImage image = ImageIO.read(new File("http://www.signe-zodiaque.com/images/signes/balance.jpg"));
g.drawImage(image, 1000, 2000, null);
} catch (IOException e) {
e.printStackTrace();
}
}
};
imagePanel.setPreferredSize(new Dimension(640, 480));
c.add(imagePanel);
}
Run Code Online (Sandbox Code Playgroud) 我问是否可以在以下条件下使字段成为必需:如果其他字段不为空则设置所需的文本框,否则它将是可选的.
我有2个组合框和一个微调器,其工作方式如下:如果第一个组合的所选项目发生了更改,则第二个组合会保留其选定的项目但重新调用微调器(微调器仅链接到第二个框).我的问题是,当我这样做时,我无法触发微调器的stateChange监听器.
这是强制第二个盒子在第一个盒子改变时重新选择它的最后一个项目的代码(这里没有错,它工作得很好):
String orientare = (String) orientareComboBox.getSelectedItem();
orientareComboBox.setSelectedItem(orientare);
Run Code Online (Sandbox Code Playgroud)
这是第二个框actionListener的代码:
public void actionPerformed(ActionEvent e) {
JComboBox combo = (JComboBox) e.getSource();
String value = combo.getSelectedItem().toString();
if (value.equalsIgnoreCase("oblica"))
{
unghiSpinner.setEnabled(true);
double unghi = (double) unghiSpinner.getValue();
unghiSpinner.setValue(new Double(unghi));
}
}
Run Code Online (Sandbox Code Playgroud)
锭床工人的听众:
public void stateChanged(ChangeEvent e)
{
if (unghiSpinner.isEnabled())
{
// do something
}
}
Run Code Online (Sandbox Code Playgroud)
我不知道我应该用什么命令unghiSpinner来触发它的监听器,因为setValue()不能这样做.
再次我在从mysql数据库显示数据时遇到JList问题,我使用下面给出的代码,但它没有在屏幕上显示任何内容.
JFrame f8 = new JFrame("Schedule");
f8.setVisible(true);
f8.setSize(1000, 1000);
JPanel jpa1 = new JPanel(new GridBagLayout());
String query = "SELECT * FROM Location";
DefaultListModel model = new DefaultListModel();
DefaultListModel model1 = new DefaultListModel();
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
Statement stmt = null;
ResultSet rs;
Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1/SPL", "root", "PWD");
stmt = (Statement) conn.createStatement();
rs = stmt.executeQuery(query);
while (rs.next()) {
String stadium = rs.getString("Stadium");
String city = rs.getString("City");
model.addElement(stadium);
model1.addElement(city);
}
JList list = new JList(model);
JList list1 = new JList(model1);
f8.add(jpa1);
jpa1.add(list); …Run Code Online (Sandbox Code Playgroud) 我有不同的形式,5个JTable中与行的任意数字,我想对每个一个会告诉我该表行的总数,改变颜色3秒时的行数变化的标签.如果递增,颜色应为绿色,如果递减则为红色.实现这一点的最佳方法是什么,这样我不需要在每个表单中复制太多代码?
swing ×9
java ×7
jtable ×3
jframe ×2
asp.net ×1
c# ×1
code-reuse ×1
file ×1
filtering ×1
firefox ×1
jdialog ×1
jpanel ×1
jscrollpane ×1
jspinner ×1
jtabbedpane ×1
miglayout ×1
modal-dialog ×1
rewrite ×1
rowcount ×1
tablemodel ×1
validation ×1