我有一个JTable(DefaultTableModel)和一个JTextField.我想用我放入文本字段的正则表达式过滤JTable.当我启动程序时,会显示所有条目,但是当我在文本字段中输入文本时,即使它应该在一行中找到文本,也不会显示任何行.
private void createFilter() {
_sorter = new TableRowSorter<DefaultTableModel>(new DefaultTableModel());
JPanel filterPanel = new JPanel();
filterPanel.setLayout(new BorderLayout());
JLabel filterLabel = new JLabel("Filter:");
filterPanel.add(filterLabel, BorderLayout.WEST);
_inputField = new JTextField();
_inputField.setColumns(40);
filterPanel.add(_inputField, BorderLayout.CENTER);
_inputField.getDocument().addDocumentListener(new DocumentListener() {
public void insertUpdate(DocumentEvent de) {
newFilter();
}
public void removeUpdate(DocumentEvent de) {
newFilter();
}
public void changedUpdate(DocumentEvent de) {
newFilter();
}
});
JButton clearButton = new JButton("X");
clearButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
_inputField.setText("");
}
});
filterPanel.add(clearButton, BorderLayout.EAST);
_mainFrame.add(filterPanel, BorderLayout.SOUTH);
}
private void …Run Code Online (Sandbox Code Playgroud) 在代码审查中,出现了以下评论:"我认为,您实际上是指将工厂注入实例,以便您可以在需要时重新启动工厂." 并且"重要提示:工厂不应该是静态的,而应该注入."
Test.java:
Foo foo = FooFactory.get(argument);
Run Code Online (Sandbox Code Playgroud)
FooFactory.java:
public final class FooFactory {
public static Foo get(String argument) {
return new Foo();
}
}
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) 我正在使用Bootstrap来设计我的网站.我的index.jade中有以下代码段:
form.form-inline.pull-right(action='http://localhost:1337/authenticated', method='POST')
input.input-small(type='text', placeholder='Email', name='emailInput')
input.input-small(type='password', placeholder='Password', name='passwordInput')
label.checkbox
input(type='checkbox') Remember me
button.btn(type='submit') Sign in
Run Code Online (Sandbox Code Playgroud)
它呈现给
<form action="http://localhost:1337/authenticated" method="POST"
class="form-inline pull-right">
<input type="text" placeholder="Email" name="emailInput"
class="input-small"><input type="password"
placeholder="Password" name="passwordInput" class="input-small"><label
class="checkbox"><input type="checkbox"></label>
<button type="submit" class="btn">Sign in</button>
</form>
Run Code Online (Sandbox Code Playgroud)
但我需要它渲染为(注意标签,而不是缩进) 编辑:实际上我需要相同的意图和"记住我"出现
<form class="form-inline pull-right" action="http://localhost:1337/authenticated" method="POST">
<input type="text" class="input-small" placeholder="Email" name="emailInput">
<input type="password" class="input-small" placeholder="Password" name="passwordInput">
<label class="checkbox">
<input type="checkbox"> Remember me
</label>
<button type="submit" class="btn">Sign in</button>
</form>
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?Jade不认识"标签"元素吗? 编辑:忘记"标签"元素,这是正确的.