Home Php C# Sql C C++ Javascript Python Java Go Android Git Linux Asp.net Django .net Node.js Ios Xcode Cocoa Iphone Mysql Tomcat Mongodb Bash Objective-c Scala Visual-studio Apache Elasticsearch Jar Eclipse Jquery Ruby-on-rails Ruby Rubygems Android-studio Spring Lua Sqlite Emacs Ubuntu Perl Docker Swift Amazon-web-services Svn Html Ajax Xml Java-ee Maven Intellij-idea Rvm Macos Unix Css Ipad Postgresql Css3 Json Windows-server Vue.js Typescript Oracle Hibernate Internet-explorer Github Tensorflow Laravel Symfony Redis Html5 Google-app-engine Nginx Firefox Sqlalchemy Lucene Erlang Flask Vim Solr Webview Facebook Zend-framework Virtualenv Nosql Ide Twitter Safari Flutter Bundle Phonegap Centos Sphinx Actionscript Tornado Register | Login | Edit Tags | New Questions | 繁体 | 简体


10 questions online user: 3

0
votes
answers
65 views
+10

Jpanel在設計時自由移動項目

3

我對Java Swing編程非常陌生,我遇到了一個小問題。Jpanel在設計時自由移動項目

當我使用Jframe和JPanels設計用戶界面時,JPanel不允許在我想要的地方(設計時)拖放一個項目。比方說,我向JPanel添加一個按鈕,然後按鈕卡在面板的中間,我不能將它拖到我想要的位置。當我直接將項目添加到JFrame時,不會發生這種情況。

我嘗試使用setBounds(int x, int y, int width, int height)方法來移動JPanel中的按鈕,但它不起作用。以下圖片將很好地描述我的問題。我想將JPanel中的按鈕拖動到左側,就像在JFrame中添加的按鈕一樣。

按鈕中的JPanel - 頂部和JFrame中 - 底:

https://i.stack.imgur.com/Nwq4i.png

有沒有辦法將其拖放到JPanel的自由掉落物品呢?

謝謝。

+4

不要使用IDE來生成您的GUI代碼。而是手動編寫GUI,以便您可以完全控制面板和每個面板使用的佈局管理器。例如默認情況下,一個JPanel使用一個FlowLayout,其中組件居中。如果您想要左側的按鈕,則更改佈局管理器以使用左對齊的組件的FlowLayout。 IDE是一個很好的工具,可以幫助您編譯,調試等,但如果您使用其他IDE,生成的代碼將不可移植。 – camickr

+0

謝謝你的答案@camickr。我明白你的觀點。我的問題是,即使我手動編寫代碼,Jpanels不會使用「以組件爲中心的FlowLayout」,正如您所提到的,使我的工作變得冗餘?如果不是這樣,我可以嘗試手動設計GUI。 –

+2

我已經說過,你可以改變佈局管理器使用左對齊的FlowLayout。閱讀FlowLayout API。 – camickr

沙发
0
1

作爲答案發布,因爲我沒有足夠的評論聲望。我看到你正在使用eclipse來構建你的GUI。但是,Netbeans IDE允許您像前面提到的那樣設計界面。

手動創建GUI是一個好主意,如果你想加快這個過程,你需要使用IDE。如果你不限於Eclipse並且想要使用IDE,我會建議使用Netbeans。

+1

這不是問題的答案。另外Eclipse有它的[WindowBulder編輯器](https://www.eclipse.org/windowbuilder/)Gui設計器,所以不需要爲此而切換IDE。 – c0der

+0

*「因爲我沒有足夠的聲譽發表評論」*試圖規避SO的既定使用規則會吸引反對票,這反過來會延遲您發表評論的時間。不要嘗試遊戲系統。這是有道理的。 –

+0

感謝您的回覆,但我打算手動創建GUI。 –

0
votes
answers
30 views
+10

如何在Eclipse中啓動同一個Java項目的多個實例?

-2

我正在開發模擬它們之間的UDP通信的節點。 應該有可能這些節點是在不同的計算機上啓動的,所以我對如何測試這個最簡單的計算機感興趣。 所以我需要特別需要的是如何在Eclipse中多次啓動相同的項目,可能使用不同的命令行參數。如何在Eclipse中啓動同一個Java項目的多個實例?

+0

可以啓動eclipse的一個多實例,打開相同的項目(也許你想將它複製到新的工作空間) 。或者你可以從'cmd'執行兩次應用程序。 – Vishrant

沙发
0
1

命令行參數存儲在Eclipse的運行配置中(菜單:Run>Run Configurations...Run>Debug Configurations...)。

只需創建其中的兩個,引用相同的main類,並指定不同的命令行參數,例如,指定不同的端口,然後Run/Debug兩者。

不需要兩個Eclipse實例。即使對於相同的運行配置,假設它們在某些共享資源(如端口)上不發生衝突,也可以輕鬆地擁有許多正在運行的程序。

Console視圖將保持每個正在運行的程序的輸出分離。使用Console視圖右上角的Display Selected Console工具欄下拉菜單在它們之間切換。

板凳
0
0

根據你的問題,有很多方法來啓動你的項目實例取決於你的項目。

但我認爲最簡單的方法如下。

  1. 創建兩個不同的工作區,並在兩者中複製相同的代碼。
  2. 創建服務器實例的兩個實例。

我認爲這會對你有用。

+0

如果您打算製作一份該程序的副本,只需導出該項目並按照需要運行該項目的次數就可以輕鬆多了,因爲每次運行時它都會打開一個新實例它。 – DragonHeart000

地板
0
0

您可以爲運行的JAR文件導出,並通過命令執行兩次

$ java -jar your-jar-file.jar & 
$ java -jar your-jar-file.jar 
0
votes
answers
40 views
+10

如何使Eclipse檢測正確的Java源代碼

0

當試圖跳轉到的Java API源代碼(按Ctrl /加利福尼亞+點擊)它顯示Source not found,並有一個選項Attach source...如何使Eclipse檢測正確的Java源代碼

我是Mac用戶,我只安裝了JDK,eclipse可以在沒有設置任何東西的情況下找到Java API源代碼。但對於Windows/Ubuntu,即使我只安裝了JDK,它也會在第一時間詢問Attach source...。我厭倦了告訴我的每一位朋友如何解決這個問題,因爲有太多的步驟。

所以我不知道我是否錯誤地安裝了Eclipse & JDK(在Windows/Ubuntu上),或者這是正常的。有沒有什麼方法可以安裝Eclipse和JDK,因此它可以使用Ctrl + Click第一次跳轉到可讀的源代碼?

注意:JDK從oracle.com(Windows),apt-get install openjdk-8-jdk(Ubuntu)下載。 Eclipse從eclipse.org(不是Eclipse Installer,因爲我需要通過USB共享)下載爲zip

沙发
0
0

在Eclipse Java IDE中,默認JRE設置爲用於運行Eclipse的JRE。在Windows中,安裝JDK時,還安裝了JRE(例如,在安裝64位JDK後,您將同時擁有C:Program FilesJavajdk<version>injava.exeC:Program FilesJavajre<version>injava.exe)。不幸的是,默認情況下,Windows使用JRE,因此默認使用Eclipse。

在你的情況,也許最簡單的方法就是添加一個內嵌的Java JDK到Eclipse ZIP分享(這也避免了需要安裝Java):

  1. 創建一個文件夾jre
  2. 複製一切從的Java JDK的安裝目錄(例如,安裝了Windows 64位Java JDK:從C:Program FilesJavajdk-9)到jre文件夾
  3. 添加jre文件夾到您的Eclipse ZIP分享
0
votes
answers
70 views
+10

如何在eclipse中運行JUnit測試的行爲與在命令行上運行Maven測試的行爲相同?

0

我在Mac OS上爲Eclipse開發人員使用Eclipse Oxygen。我已將我的Maven項目導入到IDE中。通常情況下,在命令行,當我運行一個測試,我將運行像如何在eclipse中運行JUnit測試的行爲與在命令行上運行Maven測試的行爲相同?

mvn test -Dtest=UserServiceTest 

除了運行「測試」的目標,這也將在「過程 - 執行一些自定義代碼我有資源「和」測試編譯「目標。但是,當我在Eclipse IDE中運行我的測試時(通過右鍵單擊包資源管理器中的類名稱,選擇「運行」然後選擇「JUnit測試」),我注意到這些其他目標未運行。

有沒有一種方法來全局設置我的項目,以便當我運行JUnit測試時,它會像輸入上面的命令一樣自動運行?我意識到我可以單獨編輯每個測試的運行配置,但是由於我有數百個,所以這將需要很多工作,並且每次我創建一個新測試時都必須執行它。如果有一些全球性的方式來設置Eclipse來爲我完成這將是非常棒的。

+1

也許運行,因爲maven構建會幫助你。 maven和eclipse不能很好地協同工作..所以我建議eighter用maven(命令行或者maven構建)運行你的測試,或者找到另一個設置你的測試的解決方案,也許@BeforeClass可以幫助你? – IEE1394

+0

是的,但運行Mvaen在命令行編譯時不允許設置斷點和輕鬆排除故障,除非有可以簡化所有這些操作的anotehr(免費)IDE。 – Dave

+0

您可以使用'mvnDebug'命令來獲取可調試的Maven會話,您可以將其附加到您的調試器。 –

沙发
0
1

目前,Eclipse擁有沒有這樣的內置工作區或項目設置/首,我不知道所需功能的任何插件。

所謂的Launch Configuration Templates/Prototypes(另見Eclipse bug 41353)目前正在開發中,預計將與Eclipse Photon on June 27, 2018一起發貨。

考慮更改測試,以便它們可以在本地機器上運行而不需要其他參數,例如, G。通過@BeforeClass(JUnit 4)或@BeforeAll(JUnit 5)。

無解,但提示如何避免在這種情況下點擊幾下鼠標:

  • 要打開和編輯啓動配置,按Ctrl鍵,並單擊或選擇運行按鈕或啓動配置菜單項。
  • 使用Eclipse Runner插件。
+0

關於「考慮改變你的測試,使它們可以在沒有附加參數的情況下在本地機器上運行」,這是不可能的,這就是我提出這個問題的原因。 – Dave

+0

@Dave不幸的是,Eclipse Bug 41353的變化還沒有被應用。一旦應用完成,您可以在2018年6月27日發佈之前(每晚集成版本)[http://download.eclipse.org/eclipse/downloads/]對其進行測試。 – howlger

0
votes
answers
60 views
+10

在Eclipse egit中檢出github發行版?

0

我該如何設置egit從github上發佈發佈版本,而不僅僅是主發佈版本?在Eclipse egit中檢出github發行版?

我在找一個版本0.4.0。 在附件中,簽出的項目不會從遠程屬性中獲取,rebase,遠程和上游分支未設置。我從標籤中獲得了這個結帳,但它不正確。

This checkout wasn't pulled from remote

+0

爲什麼你認爲這是不正確的?提交'23d3472'被標記爲'v0.4.0',並且當前分支'v0.4.0-branch'的狀態是提交'23d3472'。 – howlger

+0

純粹是因爲選擇該分支時,其屬性窗格沒有上游或其他。 (並不是說我打算在現階段回到這個項目) – MaxRussell

沙发
0
0

你有已簽出正確的提交:你當前分支v0.4.0-branch的頭部提交23d3472被標記爲v0.4.0

在Git a 標記引用提交,而不是分支。一個提交可以在多個分支中,甚至是多個分支的頭部。對於發行版,如果發行版不打算維護,通常會使用標籤而不是分支。相反,在特定分支的最新階段/提交(避免合併或重新分配)之上,歡迎提供捐款,主要在masterdev(eloper)分支上。

你的情況,有助於VCVRack/Rack

  1. 在GitHub上的VCVRack /機架庫(假設你是不是這個項目的成員)
  2. 在Eclipse 克隆分叉的GitHub知識庫
  3. 在Eclipse中提交併推送您建議的更改爲單個提交master分支的分叉的GitHub庫(目前,有177 commits to master since the v0.4.0 tag
  4. 在GitHub上創建一個pull request在此基礎上提交
0
votes
answers
44 views
+10

線程「main」中的異常java.lang.NoClassDefFoundError:org/springframework/core/env/EnvironmentCapable

0

我想從STS啓動器項目模板創建一個簡單的spring啓動應用程序。線程「main」中的異常java.lang.NoClassDefFoundError:org/springframework/core/env/EnvironmentCapable

所以我創建一個使用STS嚮導如下:

File->New->Spring Starter Project * Type: Maven * Packaging: jar * Language: java *ver:1.8* * Spring Boot version: 1.5.8 * Selected dependencies: -> Actuator -> JPA -> H2 -> Web

這是我的項目結構爲完成後:

Project structure

現在我不改變任何東西該項目,我只是嘗試運行主類作爲Java Application但我得到以下錯誤:

Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/core/env/EnvironmentCapable 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(Unknown Source) 
    at java.security.SecureClassLoader.defineClass(Unknown Source) 
    at java.net.URLClassLoader.defineClass(Unknown Source) 
    at java.net.URLClassLoader.access$100(Unknown Source) 
    at java.net.URLClassLoader$1.run(Unknown Source) 
    at java.net.URLClassLoader$1.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at io.yassir.springboot.SbCdCollectionApplication.main(SbCdCollectionApplication.java:10) 
Caused by: java.lang.ClassNotFoundException: org.springframework.core.env.EnvironmentCapable 
    at java.net.URLClassLoader.findClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    ... 13 more 

我發現了同樣問題的其他問題,但沒有答案適用於我,因爲我甚至沒有配置該項目,這是Spring的預配置。

沙发
0
0

我通過刪除maven本地存儲庫~.m2 epository解決了問題,然後將eclipse配置重新設置爲默認值。

This issue is caused by local jars being corrupted, or invalid eclipse build settings.

0
votes
answers
50 views
+10

在實現RenderTree函數時,python 3.5 conda中的Unicode錯誤

0

我使用anytree包來創建樹。在實現RenderTree函數時,python 3.5 conda中的Unicode錯誤

udo = Node("Udo") 
marc = Node("Marc", parent=udo) 
print(RenderTree(udo)) 

在使用RenderTree功能,我得到的unicode如下錯誤:

Traceback (most recent call last): File "C:UsersNeelakshiworkspaceLogisticRegressionTypeHierarchyTest.py", line 16, in print(RenderTree(udo)) File "C:Miniconda3envsPython35libencodingscp1252.py", line 19, in encode return codecs.charmap_encode(input,self.errors,encoding_table)[0] UnicodeEncodeError: 'charmap' codec can't encode characters in position 14-16: character maps to

我也有類似的線程這個問題,但無法找到它的解決方案。我從eclipse運行這個示例程序,而不是從命令行運行。以下是封裝詳細信息:

python: 3.5.1 
conda: 4.3.24 
沙发
0
0

我通過將Eclipse編碼設置更改爲Utf-8來解決了此問題。之前是cp1252。

0
votes
answers
41 views
+10

哪裏是啓動期間設置RCP視角的最佳地點?

0

我想在RCP(Eclipse 3)中使用透視圖的configurer.setSaveAndRestore(true);功能來保存視圖的佈局,但我希望它始終以特定的視角啓動。哪裏是啓動期間設置RCP視角的最佳地點?

我是後是啓動(可能會覆蓋在激活類的地方的東西),我可以安全地調用過程中的地方:

 PlatformUI.getWorkbench().showPerspective(id, 
       PlatformUI.getWorkbench().getActiveWorkbenchWindow()); 

這樣,應用程序將切換到該視角,在用戶中贏得」不知道發生了什麼事。

編輯:

我試圖以我的postWindowOpen方法,這是否開關,但你可以看到它這樣做,它首先初始化原始角度各方面的意見,我不真的想要發生。

+0

你見過[有沒有辦法強制Eclipse在默認透視圖中打開?](https://stackoverflow.com/q/4604267/1744774)已經? –

+0

對不起,我不是很具體,謝謝你的幫助。命令行參數不會爲我剪切它。 – Link19

沙发
0
0

Making an Eclipse RCP/RAP application with multiple Perspectives

首先,我們必須設置私有靜態最後絃樂PERSPECTIVE_ID。該ID將作爲默認的透視擴展的ID。所以在我們的情況下,這將是benl.smartapps.maildemo.perspective。然後我們添加公共字符串getInitialWindowPerspectiveId()返回PERSPECTIVE_ID。這將導致下面的代碼:

Making an Eclipse RCP/RAP application with multiple Perspectives

現在,應用程序將始終默認打開默認的角度來看,如果用戶沒有保存在工作臺的狀態。

+0

我的問題是,我希望它打開該角度,即使用戶已經保存工作臺的狀態 – Link19

+0

@ Link19我熱切地討厭試圖比我更聰明的軟件,即,雖然我顯式地給我一個默認狀態之前保存了我的首選。但那可能是個人視角。 –

+0

欣賞,然而這個軟件有一些只能在某個過程中訪問的視角,而且這個過程需要一定的步驟才能得到這個視角。因此,那裏開放的軟件根本沒有一個好的或者預期的用戶體驗,而不是一點點。 – Link19

0
votes
answers
66 views
+10

嘗試創建映像文件時,try-catch無法捕獲IOException

1

這是一個圖像處理應用程序。我在下面顯示的代碼是用於創建一個圖像文件並將完整處理的BufferedImage保存到它。嘗試創建映像文件時,try-catch無法捕獲IOException

public static void saveAnh(BufferedImage anhHoanTat) { 
    String dc; 
    ui.save(); 
    input.nextLine(); 
    diachiluuanh = input.nextLine(); 
    dc = diachiluuanh 
     + diachi.substring(diachi.lastIndexOf("\"), diachi.lastIndexOf(".")) 
     + "_ML."+ diachi.substring(diachi.lastIndexOf(".")+1); 
    File anhDaXuLy = new File(dc); 
    try { 
     ImageIO.write(anhHoanTat,diachi.substring(diachi.lastIndexOf(".")+1), anhDaXuLy); 
    } catch (IOException e) { 
     ui.warningSave(); 
    } 
    ui.hoanTat(dc); 
} 

一切工作正常,但它沒有捕獲IOException。系統顯示錯誤,它是FileNotFoundException,據我所知,異常也是IOException

什麼樣的系統顯示截圖:

Screenshot of what the system showed

然後我試圖抓住一個確切catch (FileNotFoundException e),但隨後的Eclipse會讓我改回IOException。是Eclipse促使我

截圖:

Screenshot of what Eclipse prompted me

Screenshot of what Eclipse prompted me

(它告訴我,FileNotFoundException已經由IOException抓住了,所以最終我不得不刪除這幾乎回去到我開始的地方)。

注意:我在那之後加了NullPointerException和代碼抓住它,但還是沒有趕上什麼系統顯示IOExceptioncatch (NullPointerException | IOException e)

截圖:

Screenshot of what the system showed

沙发
0
1

會發生什麼事是你正確捕獲異常,你打印出來(我假設這就是你在ui.warningSave();方法中所做的),但是然後你不停止你的方法(或者返回,退出,拋出異常),所以程序到達最後一行後,catch(ui.hoanTat(dc);

編譯錯誤日食sho請你:

因爲ImageIO.write()拋出IOException,你不能只捕獲FileNotFoundException,因爲它不包括所有情況。

此外,編寫catch (FileNotFoundException | IOException e)也是錯誤的,因爲FileNotFoundException是多餘的 - 它在擴展它時已經被IOException覆蓋。

+0

雖然仍然無法正常工作。 –

0
votes
answers
61 views
+10

如何解決必需的Eclipse插件包

1

我想使用Tycho依次構建一些Eclipse插件(比如A,B,C,D),然後在構建完所有插件後將它們放入p2存儲庫。如何解決必需的Eclipse插件包

現在,插件B依賴於插件A.在插件B的清單文件中,A在所需的捆綁軟件部分中給出。

但是,由於A在p2 repo中不存在,因爲我正在構建p2 repo,即一旦所有插件都被構建完畢。因爲我想爲所有插件構建一個p2回購(計數大約爲50)。

這些所有插件都存在於單個文件夾中。

我該如何解決這種依賴性?

+0

[Tycho的Maven多模塊中的自定義pom.xml文件名可能重複](https://stackoverflow.com/questions/33396390/custom-pom-xml-filename-in-maven-multimodule-for-tycho) –

沙发
0
1

你可以按照類似的多模塊模式中所描述的「Custom pom.xml filename in maven multimodule for tycho

<!-- in file pom.xml --> 
<modules> 
    <module>A/pom.xml</module> 
    <module>B/pom.xml</module> 
    <module>C/pom.xml</module> 
    <module>D/pom.xml</module> 
</modules> 

<!-- in file pom-tycho.xml --> 
<modules> 
    <module>A/pom.xml</module> 
    <module>B/pom.xml</module> 
    <module>C/pom.xml</module> 
    <module>D/pom.xml</module> 
</modules> 

的想法是,在一個多模塊項目構建順序如下<module>元素中的聲明順序。