Java 让绝地武士开始工作
好吧,这是我的问题。我有以下代码:Java 让绝地武士开始工作,java,swing,jeditorpane,Java,Swing,Jeditorpane,好吧,这是我的问题。我有以下代码: import java.awt.*; import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.regex.Pattern; i
import java.awt.*;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.regex.Pattern;
import javax.swing.*;
public class SongTapper extends JFrame {
Date d;
boolean isFirstTap = true;
static JTapper tap;
URL url;
JLabel label = new JLabel();
JEditorPane pane = new JEditorPane();
JScrollPane scroll;
JFrame frame;
public void show() {
// d = new Date();
// Date d2 = new Date();
//
// double seconds = ((d.getTime() - d2.getTime()) /1000);
//
// System.out.println(seconds);
frame = new JFrame();
tap = new JTapper();
tap.setEditable(false);
tap.setText("Tap out a song using the Space bar");
tap.addTapListener(new TapListener() {
String count = "";
@Override
public void tapPerformed() {
if(isFirstTap){
d = new Date();
isFirstTap = false;
}else{
Date tapping = new Date();
double seconds = (((double)tapping.getTime() - (double)d.getTime()) / 1000.0);
String total = Double.toString(seconds) + "-0-1/";
System.out.println(count += total);
}
}
@Override
public void tappingCompleted() {
tap.setText("Tapping completed");
String fullUrl = "http://www.musipedia.org/result.html?sourceid=melody-url&tx_mpsearch_pi1%5bsubmit_button%5d=Search&tx_mpsearch_pi1%5bpc%5d=hum%20" +
count +"&filtertext=&coll=r&onlymatchfrom=0 ";
try {
url = new URL(fullUrl);
pane.setPage(url);
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
frame = new JFrame();
scroll = new JScrollPane(pane);
frame.getContentPane().add(scroll);
frame.pack();
}
});
frame.setTitle("Song Tapper");
//frame.getContentPane().add(scroll);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(new Dimension(250, 100));
frame.getContentPane().add(tap);
frame.pack();
frame.setVisible(true);
frame.setLocationRelativeTo(null);
}
}
及
导入java.awt.Component;
导入java.awt.event.KeyEvent;
导入java.awt.event.KeyListener;
导入java.util.ArrayList;
导入java.util.List;
导入java.util.Observable;
导入javax.swing.JLabel;
导入javax.swing.JPanel;
导入javax.swing.JTextField;
公共类JTapper扩展了JTextField,实现了KeyListener{
JLabel label=新的JLabel(“使用空格键轻敲歌曲”);
整数计数;
列表点击=新建ArrayList();
公共JTapper(){
this.addKeyListener(this);
}
公共无效addTapListener(TapListener TapListener){
添加(tapListener);
}
@凌驾
public void keyTyped(KeyEvent e){
//TODO自动生成的方法存根
}
@凌驾
按下公共无效键(按键事件e){
}
@凌驾
公共无效密钥已释放(密钥事件e){
如果(例如getKeyCode()==32){
用于(轻触侦听器轻触:轻触){
tap.tapPerformed();
}
}
否则如果(例如getKeyCode()==10){
用于(轻触侦听器轻触:轻触){
点击。点击完成();
}
}
}
}
我正试图用空格键点击的时间来替换url的中间部分,但是我很难让它打开包含所需网站的JEditorPane
有人知道如何修复它以显示我请求的网页吗
如果您需要更多信息,请告诉我。Url部分将非常简单:
String part = JTapper.getTapNumber()+"";//if it exists
//if it doesn't exist just make it
${name_of_JEditorPane}.setPage(new URL("http://www.example.com/"+part+"ending"));
要拉起绝地武士窗格,你可以制作一个包含窗格的JFrame,但我必须警告你!您不应该使用JEditorPAnes显示网页,因为它们只能使用基本html,不能运行javascript首先,不要用文本组件使用<代码> KiistListor <代码>,请考虑使用<代码> DoCTeNistListAu/COD>
String part = JTapper.getTapNumber()+"";//if it exists
//if it doesn't exist just make it
${name_of_JEditorPane}.setPage(new URL("http://www.example.com/"+part+"ending"));