问题1:通过使用defaulthighlighter,我可以使聚焦线变为蓝色.现在我想把它换成其他颜色.有谁知道如何更改此参数? - - 解决了
问题2:pos是我想要突出显示的子串的起始索引.我用setCaretPosition(pos); 更新显示内容.但它总是出现在窗口的底部.我希望它在顶部.谁能告诉我如何处理?
我使用一个演示来显示我的问题:
import java.awt.Color;
import java.net.MalformedURLException;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.SwingUtilities;
import javax.swing.text.BadLocationException;
import javax.swing.text.DefaultHighlighter;
public class Test {
public static void main(final String[] args) throws MalformedURLException {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
try {
init();
} catch (BadLocationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
}
private static void init() throws BadLocationException {
JFrame frame = new JFrame();
final JTextArea textArea …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建类似于JOptionPane的东西,但是将从输入中获得多于一(3)个变量.所以我想我会使用一个单独的JFrame,它有三个textFields.我使用Get和Set等访问方法将变量从一个类获取到另一个类,但我得到一个空指针excpetion.我想我会以错误的方式获取变量,并且很难找到可行的解决方案.
public class Instructor()
{
public void Insert(JPanel panel)
{
panel.removeAll();
panel.updateUI();
//ResultSet resultSet = null;
String bNum = "";
String fName = "";
String lName = "";
InsertFrame insert = new InsertFrame();
insert.setVisible(true);
bNum = insert.getBNumber();
fName = insert.getFirstName();
lName = insert.getLastName();
/*
String bNum = JOptionPane.showInputDialog("Enter BNumber");
String fName = JOptionPane.showInputDialog("Enter First Name");
String lName = JOptionPane.showInputDialog("Enter Last Name");*/
try
{
connection = DriverManager.getConnection(URL);
insertNewInstructor = connection.prepareStatement(
"INSERT INTO Instructor" + "(BNumber, FirstName, LastName)" + "VALUES (?,?,?)");
}catch(SQLException …Run Code Online (Sandbox Code Playgroud)