(1) Swing
예전의 GUI 구현도구 였던 awt의 차기 버전
컴포넌트가 많고 JFrame으로 구현
(2) Swing Compinets
JButton, JTextfield, JLabel, JPasswordField
JTable, JTextArea, JSlider
import org.jsoup.Jsoup; 설정 방법
Java Jsoup 크롤링이라고 함!!
Jsoup을 사용해서 크롤링을 할 때 문서가 커지면 에러가 나기 때문에 따로 깔아줘야한다!!
Overview (jsoup Java HTML Parser 1.15.2 API)
Overview (jsoup Java HTML Parser 1.15.2 API)
jsoup: Java HTML parser that makes sense of real-world HTML soup. jsoup is a Java library for working with real-world HTML. It provides a very convenient API for fetching URLs and extracting and manipulating data, using the best of HTML5 DOM methods and CS
jsoup.org
위 링크에서 자바스트립트를 지정해둔 파일에 저장한다!!
자바 프로젝트에서 오른쪽 우클릭
맨 아래 하단에 Properties선택!!
Java Build Path클릭
Classpath클릭후
Add External JARs... 클릭
지정해둔 위치에 들어가 jsoup-1.15.2을 연다
Apply를 누르면 적용!!
package Day08.swing;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JTextField;
import javax.swing.JLabel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class MovieSearch extends JFrame implements ActionListener {
JLabel l1, l2, l3, l4, l5;
JTextField tf1;
JButton b1;
MovieSearch(){
tf1 = new JTextField("영화이름을 입력하세요");
tf1.setBounds(20,50,200,30);
b1 = new JButton("검색");
b1.setBounds(230,50,60,30);
l1 = new JLabel("감상평1");
l1.setBounds(20,90,500,30);
l2 = new JLabel("감상평2");
l2.setBounds(20,130,500,30);
l3 = new JLabel("감상평3");
l3.setBounds(20,170,500,30);
l4 = new JLabel("감상평4");
l4.setBounds(20,210,500,30);
l5 = new JLabel("감상평5");
l5.setBounds(20,250,500,30);
add(tf1); add(b1);
add(l1); add(l2); add(l3); add(l4); add(l5);
b1.addActionListener(this);
setTitle("Movie Search");
setSize(600, 360);
setLayout(null);
setVisible(true);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new MovieSearch();
}
public void actionPerformed(ActionEvent e){
String str = tf1.getText();
l1.setText(str);
String URL = "<https://search.naver.com/search.naver?query=영화+>" + str;
try {
Document doc = Jsoup.connect(URL).get();
Elements els = doc.select("p.area_text_box_ell");
System.out.println(els);
int i = 1;
for(Element el : els) {
if(i==1) l1.setText(el.text());
else if(i==2) l2.setText(el.text());
else if(i==3) l3.setText(el.text());
else if(i==4) l4.setText(el.text());
else if(i==5) {
l5.setText(el.text());
break;
}
i++;
}
}
catch(Exception ex) {
}
}
}
'개발 > JAVA' 카테고리의 다른 글
JVM (0) | 2023.01.18 |
---|---|
Hello World! (0) | 2023.01.18 |
스트림(Stream) (0) | 2023.01.09 |
스레드(Thread) (0) | 2023.01.09 |
컬렉션 프레임워크 (Collection Framework) (0) | 2023.01.09 |