小编kle*_*tra的帖子

BorderLayout.CENTER中的JScrollPane不会调整大小

这是下面的代码,问题是JScrollPane保持其首选大小,并且不会使用BorderLayout.CENTER区域调整大小.我希望它填充该区域,当然..并使用它来滚动其中的表的内容.

frame = new JFrame();
frame.setBounds(100, 100, 500, 400);
JPanel panelCenter = new JPanel();
FlowLayout flowLayout = (FlowLayout) panelCenter.getLayout();
flowLayout.setAlignment(FlowLayout.LEFT);
panelCenter.setPreferredSize(new Dimension(300, 400));

panelRight = new ActorDrawer();
frame.getContentPane().add(panelRight, BorderLayout.EAST);
panelRight.setLayout(null);
panelRight.setPreferredSize(new Dimension(200, 400));
frame.getContentPane().add(panelCenter, BorderLayout.CENTER);

table = new JTable(new MyTableModel());
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
JScrollPane scrollPane = new JScrollPane(table);
table.setFillsViewportHeight(true);
panelCenter.add(scrollPane);
Run Code Online (Sandbox Code Playgroud)

java swing layout-manager

2
推荐指数
1
解决办法
3724
查看次数

整数解析int无效

我试图使用java Web服务进行简单的添加.我有一个问题从JTextField我的ints 输入,以便程序可以执行添加.我的代码如下.当用户输入第一个值时,他们应该点击第一个按钮(butta)与第二个按钮相同,一旦点击第二个按钮,它应该显示结果的某个位置.单击按钮时,整数解析似乎不起作用.

 public class Wscalcclient {
           static int aa=0, bb=0, cc=0;
        String str = new String(); 
        JTextField fielda, fieldb;
        JTextField fieldc;

        Wscalcclient()
        {  JButton butta, buttb;
           JLabel result;
           JPanel panel;

           JFrame frame  = new JFrame();
           frame.setBackground(Color.white);
           frame.setForeground(Color.black);
           frame.setSize(500,250);

           panel = new JPanel();
           panel.setBackground(Color.cyan);
           panel.setForeground(Color.black);
           panel.setLayout(new GridLayout(0,2));

           butta = new JButton("enter number a");
           buttb = new JButton("enter number b");
           result = new JLabel("result a+b=");
           fielda = new JTextField();
           fieldb = new JTextField();
           fieldc = …
Run Code Online (Sandbox Code Playgroud)

java swing jbutton parseint

2
推荐指数
1
解决办法
581
查看次数

如何限制JTextPane中的字符数用户类型(Java)

输入X后,我不需要输入任何字符.我需要在输入X字符后发出一声嘟嘟声.我知道在用户按下回车后如何执行此操作,但我需要在用户按Enter键之前执行此操作.我在Oracle网站上发现的方法是将DocumentSizeFilter添加到JTextPane.我不能让它在他们结束时通知用户(在他们按下回车之前它不起作用).这是我的样本.

public class EndCycleTextAreaRenderer extends JTextPane
implements TableCellRenderer {

private final int maxNumberOfCharacters = 200;

public EndCycleTextAreaRenderer() {
    StyledDocument styledDoc = this.getStyledDocument();
    AbstractDocument doc;
    doc = (AbstractDocument)styledDoc;
    doc.setDocumentFilter(new DocumentSizeFilter(maxNumberOfCharacters ));

}
Run Code Online (Sandbox Code Playgroud)

java swing jtextpane

2
推荐指数
1
解决办法
4705
查看次数

列表项 = new ArrayList() :它不起作用

全部在标题中,我不明白这次的问题有点不同,我对两个不同的程序使用了相同的对象(列表),但第二次不起作用,请参阅:

private void jMenuItem23ActionPerformed(java.awt.event.ActionEvent evt) {                                            
init_creer_client();
List  items  = new ArrayList();
items.add("mawren");
items.add("blabla");
items.add("Bonjour");

CL.show(cartes,"creer_client");       
}   
Run Code Online (Sandbox Code Playgroud)

有关错误的屏幕截图: 在此输入图像描述

缺点是它的工作顺利:

 import java.awt.Dimension;
 import java.awt.HeadlessException;
 import java.util.ArrayList;
 import java.util.List;
 import javax.swing.JFrame;
 import javax.swing.JPanel;
 import javax.swing.JTextField;
 import org.jdesktop.swingx.autocomplete.AutoCompleteDecorator;

 public class Test_swingx extends JFrame {

public Test_swingx(String title) throws HeadlessException {

this.setTitle(title);
JPanel pan=new JPanel();
JTextField jtf=new JTextField();
jtf.setColumns(20);
List items  = new ArrayList();
items.add("hello");
items.add("marwen");
items.add("allooo");
AutoCompleteDecorator.decorate(jtf, items,false);
pan.add(jtf);
this.setContentPane(pan);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
this.setBounds(280, 150, 500, 200);

}


 public static void main(String[] args) { …
Run Code Online (Sandbox Code Playgroud)

java swing list arraylist swingx

2
推荐指数
1
解决办法
3087
查看次数

写入文件但退出时删除?

我写道,我正试图在文件中写一些数据.但是在重新启动时,它会删除内部的所有内容,然后再次写入.无法找出问题所在.

而且我还找到了一个像"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)

java swing rewrite file

2
推荐指数
1
解决办法
421
查看次数

JDialog:阻止父框架关闭

如何使父框架的焦点无效?我有一个JFrame(parentFrame),我打开一个JDialog:

JDialog dialog = new JDialog(parentFrame);
Run Code Online (Sandbox Code Playgroud)

现在我需要设置对话框这样一种方式,每当尝试某人单击父框架时,它总是将焦点放在该对话框上,甚至阻止父框架被关闭.

例如,在Windows中添加环境变量(系统属性 - >高级选项卡 - >环境变量按钮单击)时,环境变量窗口会阻止其父项关闭.

java swing modal-dialog jframe jdialog

2
推荐指数
1
解决办法
1781
查看次数

JTable过滤问题

这是我的场景:我对一个应用程序有3个视图,其中2个是相同的,除了1个东西 - 一个有额外的过滤.所有视图都使用相同的模型,因为它们以(有些)不同的方式显示相同的数据.两个相似的视图都是JTable,如下所示:

  • 查看1过滤基本级别的结果
  • 视图2(应该)首先在同一基本级别上进行过滤,也可以在更细粒度的级别上进行过滤

我可以为第二个视图创建过滤器,但由于两个视图都使用相同的模型(实现了TableModel),因此它们在数据模型中调用相同的函数getValueAt(int rowIndex, int columnIndex)- 目前只在基本级别上进行过滤.

在不影响第一个视图的情况下,另外过滤第二个视图的最简单方法是什么?我将如何实现这一目标?

提前致谢.

java swing filtering jtable tablemodel

2
推荐指数
1
解决办法
307
查看次数

MigLayout对JScrollBar对象中包含的JTable对象感到困惑

看来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)

swing jtable jscrollpane miglayout

2
推荐指数
1
解决办法
1530
查看次数

Firefox在JTabbedPane上打开"新标签"

我想在JTabbedPane的标题栏上添加一个按钮(类似于Firefox中的'打开新标签'('+')按钮)我试图添加到JTabbedPane容器的玻璃窗格中.但由于我的tabbedpane包含在JPanel中似乎它对我不起作用.任何建议对我都有很大的帮助.谢谢.

firefox swing jtabbedpane

2
推荐指数
1
解决办法
1272
查看次数

显示JList

再次我在从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)

java swing

2
推荐指数
2
解决办法
1748
查看次数