24,200원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결자바(javafx) 실전 데스크탑앱 프로젝트 - 유튜브관리앱
크롬앱기능(구현) 강의에서 new ClipboardAssistance()에서 에러가 발생합니다.
강의기준 79번째 줄 ClipboardAssistance()에서 에러가 나는데,강의에서는 ClipboardAssistance를 사용 시 해당 클래스를 임포트할 수 있도록 도와주는 것 같은데, 위 사진을 보시면 ClipboardAssistance에 대한 Import도 제시해주지 않고 있습니다. 라이브러리 문제인가 싶어 zulu javafx 11버전을 다시 받아 jre 세팅하고 진행해도 저부분만 오류가 납니다. 이유가 궁금합니다.추가로, 강의에서는 프로젝트의 JRE System library가 JavaSE-1.8이라고 나와있는데, 이게 zulu11이 아니면 Button, HBox, Scene 등 javaFx를 이용하는 많은 부분에서 전부 빨간줄이 뜨는데 어떻게 강의에서는 JavaSE-1.8라이브러리를 사용하면서 빨간줄이 안뜨는지요..? (여기에 제 문제점도 어느정도 관계가 있어 보이기도 합니다..)
- 미해결자바(javafx) 실전 데스크탑앱 프로젝트 - 유튜브관리앱
launch4j 파일로 jar을 exe 파일로 변경하였으나 실행이 되지 않습니다.
오류: 기본 클래스 YoutubeUI을(를) 로드하는 중 LinkageError가 발생했습니다. java.lang.UnsupportedClassVersionError: YoutubeUI has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0 버전 문제로 보였으나 java version "17.0.2" 확인되었으며 버전이 61인 것까지는 맞습니다.위와 같은 오류로 인해 실행이 되지 않습니다. 버전문제로 에러문구가 나타나지만 버전 확인 결과 버전 문제는 아닌 것 같습니다.그리고 클래스 YoutubeApp_Db가 아닌 이유는 제가 클래스 파일 이름을 YoutubeUI로 정해놓아서 그렇습니다. .exe 파일 만들기전 이클립스에서 실행은 모두 정상작동하였습니다만 launch4j에서 exe 변경후 실행이 되지 않습니다. 도와주세요 ㅠ,ㅠ
- 미해결자바(javafx) 실전 데스크탑앱 프로젝트 - 유튜브관리앱
javafx로 만든 프로그램을 .exe 응용프로그램 파일로 만들어 어디에서든 간편히 실행시키고 싶습니다.
javafx로 만든 프로그램을 .exe 응용프로그램 파일로 만들어 어디에서든 간편히 실행시키고 싶습니다. 방법을 알려주시면 감사하게습니다.
- 미해결자바(javafx) 실전 데스크탑앱 프로젝트 - 유튜브관리앱
이클립스 워크스페이스 변경시 자바 fx
사정상 워크스페이스를 2개로 나눠서 사용하고 있는데, 새로운 워크스페이스에서는 자바Fx 작동되지 않습니다. 페키지 탐색기에서 마우스우클릭-New-Others에서 javafx mainclass로 생성되긴 하지만, 빨간 줄과 함께 에러가 납니다. Error : Unable to initialize main class 클래스명 Caused by java.lang.NoClassDefFoundError: Stage
- 미해결자바(javafx) 실전 데스크탑앱 프로젝트 - 유튜브관리앱
sql studio exe파일이 없어요.
강의 올려주신지 시간이 그래도 지나서.. 검색한 것 그대로 검색해도 사이트가 올바르게 뜨지 않습니다.. sqlStudio같은 경우는 zip파일은 있지만 exe파일은 찾을 수가 없습니다.. https://sqlitestudio.pl/ 여기서 다운로드한 zip파일인 경우 어떻게 해야할까요?
- 미해결자바(javafx) 실전 데스크탑앱 프로젝트 - 유튜브관리앱
포트할당
ServerSocket 객체를 생성해서 9900 포트에 할당해주셨는데요 Youtube 관리앱은 9900포트가 아니라 다른 포트에 할당되는거 아닌가요?? Youtube 관리앱을 특정 포트에 띄우는게 포트를 덜 잡아먹지 않나 싶어서 질문드려요
- 미해결자바(javafx) 실전 데스크탑앱 프로젝트 - 유튜브관리앱
왜 클릭했을 때 한번만 previous, current 뜨고 다시 클릭하면 안뜰까요?
list 아이템 추가해주고 클릭했을 때 처음에만 previous, current가 뜨고 다른거 클릭하면 안뜨네요..
- 미해결자바(javafx) 실전 데스크탑앱 프로젝트 - 유튜브관리앱
에러가 떠요
강의보고 똑같이 따라햇는데 오류가 떠요 Error occurred during initialization of boot layer java.lang.module.FindException: Module JavaFXTutorial1 not found
- 미해결자바(javafx) 실전 데스크탑앱 프로젝트 - 유튜브관리앱
안녕하세요. 하나의 컨트롤러 내에서 다른 컨트롤러 호출에 관한 질문입니다.
현재 이런 어플리케이션을 만들고 있습니다. 해당 화면에서 File > Open을 누르게 되면 아래와 같이 모달이 나오는데요, 해당 모달의 확인 버튼을 눌렀을 때, 모달이 닫히면서 이곳에서 선택한 파일 4개의 경로를 가지고아래 깔려있는 HDX Viewer라는 Scene의 왼쪽 흰색 영역에 TreeView를 그려주고 싶습니다. 저는 현재 2개의 뷰 파일을 가지고 있고, (아래쪽이 MainView.fxml, 위의 모달이 FileSelectView.fxml 입니다.)각 뷰에 따른 컨트롤러 클래스를 2개 가지고 있습니다. (MainViewController.java, FileSelectViewController.java) 해당 로직은 이렇게 진행됩니다. [모달이 열리지 않은 상태] MainViewController에서 onClickOpen() => showFileModal() [모달이 열린 상태]FileSelectViewController에서 확인 버튼 클릭 => onConfirm()실행 => mainViewController의 setTreeItem()을 부름 이때, mainViewController의 setTreeItem에서 제가 분명히 TreeItem을 잘 적용했으나, mainView에서 해당 변경 사항이 반영되지 않았습니다. 혹시 해당 뷰의 상태를 바꿔주려면 어떻게 해야 하나요?제가 어떤 부분을 놓쳤는지 궁금합니다. 혹시 괜찮으시다면 한번 검토해주실 수 있을까요? 더 필요한 사항이 있으시면 적어주신다면 제가 더 첨부하겠습니다. 감사합니다. MainViewController.java package application; import java.io.File; import java.io.FileNotFoundException; import java.net.URL; import java.util.ResourceBundle; import javax.xml.stream.XMLStreamException; import org.systemsbiology.jrap.stax.MSXMLSequentialParser; import org.systemsbiology.jrap.stax.Scan; import javafx.event.ActionEvent; import javafx.fxml.FXML; import javafx.fxml.FXMLLoader; import javafx.fxml.Initializable; import javafx.scene.Node; import javafx.scene.Parent; import javafx.scene.Scene; import javafx.scene.chart.BarChart; import javafx.scene.chart.LineChart; import javafx.scene.chart.XYChart; import javafx.scene.control.Button; import javafx.scene.control.MenuItem; import javafx.scene.control.TableView; import javafx.scene.control.TreeItem; import javafx.scene.control.TreeView; import javafx.scene.input.MouseEvent; import javafx.stage.FileChooser; import javafx.stage.Modality; import javafx.stage.Stage; public class MainViewController implements Initializable { @FXML private MenuItem open; @FXML private TreeView<String> treeview; @FXML private LineChart<?, ?> linechart; @FXML private BarChart<?, ?> barchart_up; @FXML private Button peptide_view; @FXML private BarChart<?, ?> barchart_down; @FXML private TableView<?> tableview; @FXML void onClickOpen(ActionEvent event) { Stage stage = Main.getPrimaryStage(); showFileModal(stage); } private void showFileModal(Stage parentStage) { try { Stage stage = new Stage(); Parent root = FXMLLoader.load(getClass().getResource("FileSelectView.fxml")); stage.setScene(new Scene(root, 600, 400)); stage.setTitle("file select"); stage.initModality(Modality.WINDOW_MODAL); stage.initOwner(parentStage); stage.showAndWait(); } catch(Exception e){ System.out.println(e); } } @FXML void onClickTableView(MouseEvent event) { } @Override public void initialize(URL arg0, ResourceBundle arg1) { barchart_up.setLegendVisible(false); barchart_up.getXAxis().setAnimated(false); barchart_up.getYAxis().setAnimated(false); barchart_down.setLegendVisible(false); barchart_down.getXAxis().setAnimated(false); barchart_down.getYAxis().setAnimated(false); treeview.getSelectionModel().selectedItemProperty().addListener((observable, oldValue, newValue) -> { if(newValue != null && newValue != oldValue){ try { MSXMLSequentialParser parser = new MSXMLSequentialParser(); parser.open(newValue.getValue()); Scan scan = parser.getNextScan(); double[][] array = scan.getMassIntensityList(); XYChart.Series data = new XYChart.Series(); for (int j = 0; j < array[0].length; j++) { double key = array[1][j]; String s = String.format("%.2f", key); double value = array[0][j]; data.getData().add(new XYChart.Data(s, value)); } barchart_up.getData().add(data); } catch (FileNotFoundException | XMLStreamException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }); } public void setTreeItem() { peptide_view.setText("aaaaa"); try { TreeItem<String> Root = new TreeItem<String>("FILES"); TreeItem<String> newItem = new TreeItem<String>("condition1"); Root.getChildren().add(newItem); treeview.setRoot(Root); treeview.refresh(); System.out.println(peptide_view); System.out.println(treeview); } catch(Exception e) { } } } FileSelectViewController.java package application; import java.io.File; import javafx.event.ActionEvent; import javafx.fxml.FXML; import javafx.fxml.FXMLLoader; import javafx.scene.Node; import javafx.scene.Parent; import javafx.scene.control.Button; import javafx.scene.control.TextField; import javafx.stage.FileChooser; import javafx.stage.Stage; public class FileSelectViewController { private FileChooser.ExtensionFilter extFilter = new FileChooser.ExtensionFilter("MZXML FILES (*.mzxml)", "*.mzxml"); @FXML private Button confirm_button; @FXML private Button control_button; @FXML private TextField control_field; @FXML private Button f1_button; @FXML private TextField f1_field; @FXML private Button f2_button; @FXML private TextField f2_field; @FXML private Button f3_button; @FXML private TextField f3_field; @FXML void onConfirm(ActionEvent event) { try { Node node = (Node) event.getSource(); Stage thisStage = (Stage) node.getScene().getWindow(); // String[] filePaths = new String[4]; // filePaths[0] = control_field.getText(); // filePaths[1] = f1_field.getText(); // filePaths[2] = f2_field.getText(); // filePaths[3] = f3_field.getText(); FXMLLoader loader = new FXMLLoader(getClass().getResource("MainView.fxml")); loader.load(); MainViewController mainViewController = (MainViewController) loader.getController(); mainViewController.setTreeItem(); thisStage.close(); } catch(Exception e) { System.out.println(e); } } void selectFile(FileChooser.ExtensionFilter filter, TextField field) { Stage stage = Main.getPrimaryStage(); FileChooser fileChooser = new FileChooser(); fileChooser.setTitle("Open File"); // Set extension filter fileChooser.getExtensionFilters().add(filter); File file = fileChooser.showOpenDialog(stage); if (file != null) field.setText(file.getPath()); } @FXML void onSelectControlFile(ActionEvent event) { selectFile(extFilter, control_field); } @FXML void onSelectF1File(ActionEvent event) { selectFile(extFilter, f1_field); } @FXML void onSelectF2File(ActionEvent event) { selectFile(extFilter, f2_field); } @FXML void onSelectF3File(ActionEvent event) { selectFile(extFilter, f3_field); } } Main.java package application; import javafx.application.Application; import javafx.fxml.FXMLLoader; import javafx.stage.Stage; import javafx.scene.Parent; import javafx.scene.Scene; public class Main extends Application { private static Stage primaryStage; private void setPrimaryStage(Stage stage) { Main.primaryStage = stage; } static public Stage getPrimaryStage() { return Main.primaryStage; } @Override public void start(Stage primaryStage) { try { setPrimaryStage(primaryStage); Parent root = FXMLLoader.load(getClass().getResource("MainView.fxml")); Scene scene = new Scene(root, 1280, 720); scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm()); primaryStage.setScene(scene); primaryStage.setTitle("HDX Viewer"); primaryStage.setResizable(false); primaryStage.show(); } catch(Exception e) { e.printStackTrace(); } } public static void main(String[] args) { launch(args); } }
- 해결됨자바(javafx) 실전 데스크탑앱 프로젝트 - 유튜브관리앱
sqlite 파일을 열 때 오류가 발생합니다.
질문 게시판에 있는 영상을 보고 따라 해봤는데도(바탕화면에서 파일 만들어 드래그앤 드랍, refrash)오류가 나네요...ㅜㅜ 어떻게 해결할 수 있을까요??
- 미해결자바(javafx) 실전 데스크탑앱 프로젝트 - 유튜브관리앱
이클립스에 오류가 발생합니다.
위 사진과 같은 오류가 발생합니다. 이유를 모르겠네요ㅜㅜ 참고로 이클립스를 설치할 때 자바 jdk8은 경로에 안나와서 jdk11을 설치했습니다. 어떻게 해결해야하나요?? 강의와 관련있는 질문을 남겨주세요.• 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등)• 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색을 해주세요. (중복 질문을 자제해주세요.)• 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등) 질문 전달에도 요령이 필요합니다.• 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요.• 강의실 페이지(/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다.• 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재해주세요. • 수업 특정 구간에 대한 질문은 꼭 영상 타임코드를 남겨주세요! 구체적인 질문일수록 명확한 답을 받을 수 있어요.• 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요.• 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요.• 정확한 질문 내용과 함께 코드를 적어주시거나, 캡쳐 이미지를 첨부하면 더욱 좋습니다. 기본적인 예의를 지켜주세요.• 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. • 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. • 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용은 스팸 처리 등 제재를 가할 수 있습니다.
- 미해결자바(javafx) 실전 데스크탑앱 프로젝트 - 유튜브관리앱
근데 이거 강의 소스 어디 있나요 ?
강의 화면 글씨가 너무 작아서 볼수가 없어요. 강의 코드 소스좀 보내주세요 nanummulti@naver.com 감사합니다.
- 미해결자바(javafx) 실전 데스크탑앱 프로젝트 - 유튜브관리앱
왜자꾸 sqlite 파일을 열려고하니깐이런오류가뜰까요 ㅠㅠ
ㅜ ㅜ
- 미해결자바(javafx) 실전 데스크탑앱 프로젝트 - 유튜브관리앱
프로세스하나만 띄우기가 안되어서요.
위쪽에 checkIfRunning(): 선언했구요. 예제로 했던 WarningStudy를 실행하고 나면 경고창이 뜨긴하는데... 위 프로그램을 한번 실행하고 두번째 실행,세번째 실행해도 경고창이 실행이 안되어서요.
- 미해결자바(javafx) 실전 데스크탑앱 프로젝트 - 유튜브관리앱
YoutubeData()클래스 부분 설명 부탁드려요.
addBt.setOnAction(e->{ String url = addTf.getText().trim(); if(!url.isEmpty()) { String title = getYoutubeTitle(url); YoutubeData ytData = new YoutubeData(title,url); //왜 타이틀말..url은 if(!title.trim().isEmpty()) { ov.add(ytData); addTf.clear(); //db new YoutubeDb().insertData(ytData); } } }); => OV에는 타이틀만 추가 되는 이유가 YoutubeData(title,url) 에서 YoutubeData클래스의 toString()에서 title만 정의해서 그런거죠??
- 해결됨자바(javafx) 실전 데스크탑앱 프로젝트 - 유튜브관리앱
db연결은 되는데 data insert 에러가 나네요. 부탁드려요~
public void insertData(YoutubeData data) { String query = "Insert of Replace into Youtube (Title , Url) values(? , ?)"; try{ pst = conn.prepareStatement(query); pst.setString(1, data.getTitle()); pst.setString(2,data.getUrl()); pst.execute(); pst.close(); }catch(Exception e) { System.out.println("data insert error!"); } }
- 미해결자바(javafx) 실전 데스크탑앱 프로젝트 - 유튜브관리앱
fire()의 역할이 무엇인가요?
addTf.setOnAction(e->{ addBt.fire(); });
- 미해결자바(javafx) 실전 데스크탑앱 프로젝트 - 유튜브관리앱
삽입, 삭제,업데이트 까지는 성공했는데 로드하려고 하니 아래 add에서 에러가 납니다.
The method add(String) is undefined for the type DatabaseTest2///이렇게 메세지 가 뜹니다.
- 미해결자바(javafx) 실전 데스크탑앱 프로젝트 - 유튜브관리앱
다음과 같은 에러가 납니다. 답변 부탁드려요.
(사진)
- 미해결자바(javafx) 실전 데스크탑앱 프로젝트 - 유튜브관리앱
javafx 처음 실행시 아래같은 메세지가 나타납니다.
Error: Unable to initialize main class TextJavafx Caused by: java.lang.NoClassDefFoundError: Stage