我想将table2添加到已经有table1的scrollpanel(称为feedback)中.但只有一张桌子出现了.如果我使用feedback.add(table2),只有第一个表显示(我猜第二个表位于第一个表后面,但我不知道如何使第二个表位于第一个表之后).如果我使用feedback.getViewport().add(table2,null),只有第二个表显示.我需要在这里使用一些布局管理器吗?我试图在线搜索滚动面板布局,但没有得到任何解决方案.谁能告诉我这是什么问题或者给我一些相关的示例链接?非常感谢.相关代码是:
content = getContentPane();
content.setLayout(new FlowLayout());
scrollPane = new JScrollPane(tree);
feedback = new JScrollPane(table1);
JSplitPane splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT,scrollPane, feedback);
content.add(splitPane);
.
.
.
.
feedback.add(table2);
//i add this, but still doesn't work
content.add(table2);
Run Code Online (Sandbox Code Playgroud) 我有一个JPanel,我在其中添加了一个JScrollPane(参见下面的类).我添加了一个JTextField来验证一切正常(而不是JScrollPane)并且文本字段已添加到Panel中.当我尝试添加我的JScrollPane时,显示没有任何内容(白色背景).我该如何解决这个问题?
protected JPanel createContentPanel() {
JPanel panel = new JPanel();
panel.setLayout(new BorderLayout());
final String[] columnNames = { "Test1", "Test2", "Test3" };
final String[][] data = {
{ "foo1", "foo2", "foo3" },
{ "bar1", "bar2", "bar3" },
{ "bar1", "bar2", "bar3" },
{ "bar1", "bar2", "bar3" },
{ "bar1", "bar2", "bar3" },
{ "bar1", "bar2", "bar3" },
{ "bar1", "bar2", "bar3" },
{ "bar1", "bar2", "bar3" }
};
ScrollableTable scrollableTablePane = new ScrollableTable(data, columnNames);
panel.add(scrollableTablePane, BorderLayout.CENTER);
return panel;
}
public class …Run Code Online (Sandbox Code Playgroud) 我正在使用jScrollPane插件和我的SmartAutocomplete(https://github.com/laktek/jQuery-Smart-Auto-Complete),我将自动完成结果附加到我的主要包含div的jScrollPane中,以便用户可以滚动它们.
这是有效的,但我的问题是当一个新的数据集附加到我的jScrollPane时,高度(滚动区域)不会更新,它总是保持相同的高度..所以项目要么被切断,要么有大量的白色底部的空间.
我看过他们的动态内容示例的演示,但无法使其工作:在这里演示
有人有主意吗?
我有一个相对简单的问题,我无法在任何地方找到解决方案.
有谁知道,如何初始化JScrollPane插件(插件网站),滚动速度更灵敏?默认速度太慢而且迟缓,特别是在更高分辨率的显示器上.
示例初始化:
$('#element').jScrollPane();
Run Code Online (Sandbox Code Playgroud) 我知道这个问题已经问过几次了。我试图从另一个类刷新我的JTextPane,当我从主类中刷新它时,它可以工作,但其他任何类都不能。我听说您需要使用线程来执行此操作,但是我尚未真正看到有人实现它。我在下面尽可能简单地提供了我的代码。有3个班级。谢谢!
以下是其外观的输出:http : //imgur.com/fQVDFPk
______________________________________________________
public class frame extends JPanel implements Runnable {
public TextBox textbox = new TextBox();
Thread t1 = new Thread(new TextBox());
public void run(){
}
public frame(){
t1.start();
textField();
}
public void textField(){
add(textbox.sp);
}
}
___________________________________________________
//bunch of imports
public class TextBox implements Runnable {
JTextPane field = new JTextPane();
JScrollPane sp = new JScrollPane(field);
String name ="This is your message!!\n\n Message \n\n Message";
public void run(){
try{
Thread.sleep(2000);
System.out.println("hello thread");
}catch(Exception e){}
} …Run Code Online (Sandbox Code Playgroud) 我正在使用JScrollPane来保存大面积文本的JTextArea.我将TextArea直接添加到JFrame,它工作正常.但我将它添加到滚动窗格并添加滚动窗格,我没有看到textarea.这是我的SSCCE:
public class foo extends JFrame{
//gui elements
JTextArea chatMonitor = new JTextArea();
JScrollPane textPane = new JScrollPane();
ChatFrame(final String nickname, final String login, final String server, final String channel){
setSize(500,500);
chatMonitor.setEditable(false);
chatMonitor.setVisible(true);
textPane.add(chatMonitor);
textPane.setAutoscrolls(true);
textPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
textPane.setVisible(true);
add(textPane);
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个JTextArea包装在一个JScrollPane中,我用它来记录我的应用程序的输出.当应用程序生成许多行时,文本区域中的行数增长非常快,并且滚动几乎不可见.我想要一个像Eclipse控制台一样的文本区域.我的意思是......带有垂直滚动的文本区域但是当使用滚动时我最多只能显示200行.
这是我正在使用的可运行代码:
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.border.EmptyBorder;
import javax.swing.text.DefaultCaret;
public class WindowLog extends JFrame {;
private JPanel contentPane;
private static JTextArea textArea = new JTextArea();
public static void run() {
try {
WindowLog frame = new WindowLog();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
public static void writeText(JTextArea ta, String s){
DefaultCaret caret = (DefaultCaret)ta.getCaret();
caret.setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE);
ta.append(s);
}
/**
* Create the panel.
*/
public WindowLog() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, …Run Code Online (Sandbox Code Playgroud) 我有一个JEditorPane,它位于窗口的矩形内,因此它不会填满整个窗口.然而,当HTML页面变得太大时,它会切断它而不是放入滚动条,我知道我需要一个JScrollpane或者其他东西,但是我不希望整个窗口上的滚动条,只在矩形内部.
这是我的代码片段(rweb已经被定义为一个Rectangle):
JEditorPane web = new JEditorPane();
web.setEditable(false);
try {
web.setPage("http://www.google.com");
}catch (IOException e) {
web.setContentType("text/html");
web.setText("<html>Could not load webpage</html>");
}
web.addHyperlinkListener(new HyperlinkListener() {
public void hyperlinkUpdate(HyperlinkEvent e) {
if(e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
if(Desktop.isDesktopSupported()) {
try {
Desktop.getDesktop().browse(e.getURL().toURI());
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (URISyntaxException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
}
});
rweb = new Rectangle(0, 0, width, 600);
web.setBorder(null);
web.setBounds(rweb);
window.add(web);
Run Code Online (Sandbox Code Playgroud) 我正在编写一段代码的GUI,我一直在修补它.我被困在程序的这一部分,我想要一个用户选择以JTable预览方式显示的数据文件(即用户不应该能够编辑表格上的数据).
单击实验参数选项卡中的按钮(参见下面的屏幕截图),我创建并运行"PreviewAction",创建一个新选项卡,并用必要的组件填充它.以下是代码DataPreviewAction.编辑:我还发布了一个独立的,最小的版本,模仿真实项目中的条件,并表现出相同的行为.
import java.awt.BorderLayout;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import javax.swing.JTable;
import javax.swing.SwingUtilities;
import javax.swing.table.DefaultTableModel;
public class MyFrame extends JFrame {
private JPanel panel1;
private JTabbedPane tabs;
private JButton runButton;
public MyFrame() {
tabs = new JTabbedPane();
panel1 = new JPanel();
runButton = new JButton("go!");
runButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
runButtonActionPerformed(evt);
}
});
panel1.add(runButton);
tabs.addTab("first tab", …Run Code Online (Sandbox Code Playgroud) 我在数据库中有一个包含图像路径的表,在查询结果
的while循环内部,我添加了图像JScrollPane
while (rs.next()) {///loop on the image paths from database
//// i added here the images to JScrollPane
}
Run Code Online (Sandbox Code Playgroud)
但框架是冻结的,直到所有图像设置JScrollPane然后它显示给用户
我需要的是:JScrollPane逐个
显示图像并排序而不冻结框架?!
注意:我使用Thread并修复了问题但排序中存在问题
jscrollpane ×10
java ×8
swing ×8
javascript ×2
jquery ×2
jtable ×2
autocomplete ×1
jeditorpane ×1
jtextarea ×1
jtextpane ×1
rows ×1
textarea ×1